Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek dla www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

makro - chexbox przesunięcie kilku naraz

10 Paź 2012 09:31 963 11
  • Poziom 11  
    witam, Mam problem tego typu że mam 2 kolumny obok siebie z chexboxami ale jak zmieniam ich szerokość chexboxy się nie ruszają a jak zmieniam kolumn obok to tak przez co nie mogę zmienić szerokości kolumny bo wszystko się rozjeżdża a nie mogę kolumny obok zmienić bo się przesuwa wtedy. co robić?? proszę o szybką odp.
  • Pomocny post
    Poziom 17  
    Wnioskuje, że checkboxy masz w arkuszu a nie userformie?
    Wtedy wystarczy PPM na checkbox i poszukać w ustawieniach opcji "move and size with cells" itp.

    PS: To co napisałeś jest mało zrozumiałe.
    Najlepiej załącz plik, gdzie widoczny jest problem i dobrze go opisz. Również opisz cel jaki chcesz osiągnąć.
    Zwróć uwagę na interpunkcję.
  • Poziom 11  
    nie mogę dodać pliku ale dodam 3 fotki o co mi chodzi z objaśnieniem:

    tak wygląda tabelka przed modyfikacją:


    makro - chexbox przesunięcie kilku naraz


    tak wygląda po rozszerzeniu kolumny przed chexboxami:

    makro - chexbox przesunięcie kilku naraz


    a tak po rozszerzeniu kolumny z chexboxami:

    makro - chexbox przesunięcie kilku naraz


    OGÓLNIE NIE DA SIĘ ZMIENIĆ SZEROKOŚCI KOLUMNY Z CHEXBOXAMI

    to fragment tylko chexboxów jest ponad 300.... Pytanie jak rozszerzyć kolumnę z chexboxami.

    P.S SCALENIE U GÓRY NIEMA WPŁYWU NA TO.
  • Pomocny post
    Moderator Programowanie
    CheckBox ma swój Caption. Dlaczego tam nie wpiszesz tekstu?

    makro - chexbox przesunięcie kilku naraz
  • Pomocny post
    Poziom 17  
    A nie możesz tego teksty zawarte w komórkach nie można zamienić tak, żeby było jako teksty checkbox'ów? PPM na checkbox -> edit text
  • Poziom 11  
    właśnie nie mogę;/ bo do textów i komórek formatowania warunkowe i funkcje są przypisane.

    Może da się zaznaczyć kilka checkboxów naraz to wszystkie równo przesunę? lub jakoś inaczej chodzi oto by się nie rozjechało przy zmianie szerokości
  • Pomocny post
    Moderator Programowanie
    Dobra wiadomość jest taka, że dałoby się to zrobić.
    Zła, trzeba w procedurze zdarzeniowej (pod przyciskiem, lub w kodzie innego makra) sprawdzać szerokość kolumn i w zależności od tego wyliczyć i ustawić właściwość Shapes().Left dla WSZYSTKICH kontrolek...
  • Poziom 11  
    adamas_nt napisał:
    Dobra wiadomość jest taka, że dałoby się to zrobić.
    Zła, trzeba w procedurze zdarzeniowej (pod przyciskiem, lub w kodzie innego makra) sprawdzać szerokość kolumn i w zależności od tego wyliczyć i ustawić właściwość Shapes().Left dla WSZYSTKICH kontrolek...


    problem w tym że nie zrozumiałem ani słowa;/ mógł byś na jakimś przykładzie lub gdzie klikać by to zrobić (tak by z innych kolumn i arkuszy chexboxy się nie rozjechały).
  • Pomocny post
    Moderator Programowanie
    Zapisujesz szerokość kolumn w dodatkowym arkuszu, przypisując każdej położenie kontrolek. Po zmianie sprawdzasz.
    Nr kolumny ze zmienioną szerokością będzie odpowiadać checkBox' om do zmiany. Trzeba tylko przeliczyć pkt. szerokości na Left CheckBoxa.

    Przykład? OK, ale trochę później. Mamy 10-go, ZUS na deklarację czeka :)
  • Poziom 11  
    adamas_nt napisał:
    Zapisujesz szerokość kolumn w dodatkowym arkuszu, przypisując każdej położenie kontrolek. Po zmianie sprawdzasz.
    Nr kolumny ze zmienioną szerokością będzie odpowiadać checkBox' om do zmiany. Trzeba tylko przeliczyć pkt. szerokości na Left CheckBoxa.

    Przykład? OK, ale trochę później. Mamy 10-go, ZUS na deklarację czeka :)


    poczekam ;) bo i tak nie czaje;p znam formułki exela i to 1 kontakt z makrem. ale jak byś mógł to tak do 15 będę bardzo wdzięczny.
  • Moderator Programowanie
    Kod jest stosunkowo prosty, łatwy do rozbudowy (mod ilość checkbox'ów w wierszu). Kluczem są indeksy CheckBoxów, a w przykładzie ich parzystość (i mod 2 = 0 w pętli).
    Parzyste i nieparzyste muszą być we właściwych kolumnach. Czyli robisz sobie jeden wiersz na gotowo, następnie zaznaczasz go (cały) i kopiujesz do wierszy niżej.
  • Poziom 11  
    dzięki wielkie za pomoc.