Jeeeeżu dziaaaała !!!!!
Sfurmułowanie "Then Exit For" - to jest to czego mi brakowało
Dzięki serdeczne
Pozdrawiam
napisał: Trebor postów: 1209
umieszczony: 22 października 2009 08:40
Teraz jaśniej. Spróbuj tak:
PrivateSub CommandButton1_Click() Dim i AsInteger For i = 0 To ListBox1.ListCount - 1 If ListBox1.Selected(i) = TrueThen Exit For Next i If i <= ListBox1.ListCount - 1 Then
MsgBox "Uważaj koleżko....." Else
Unload Me EndIf EndSub
W tym przykładzie procedura msg zostanie wykonana za kazdym razem gdy i bedzie true czyli jezeli w ListBoxie zaznaczone bedzie 6 wierszy to msg pokaże sie 6 razy
ja potrzebuję coś takiego
UserForm1 zawiera
1. listBox1 (multi) w którym jest 600 pozycji ciągniętych z arkusz2("a1:a600")
2. CommandButton1 uruchamiający tą przeklęta procedurę
Przypadek 1
uruchamiam makro wywołujące UserForm1
na listBox1 zaznaczam pozycję 238
klikam CB1 i Uf1 gaśnie a do Arkusz1("A1") wskakuje tekst "Uważaj koleżko bo w listBox1 jest coś zaznaczone".
Przypadek 2
uruchamiam makro wywołujące UserForm1
na listBox1 zaznaczam pozycję 156 i 424 i jeszcze 587
klikam CB1 i Uf1 gaśnie a do Arkusz1("A1") wskakuje tekst "Uważaj koleżko bo w listBox1 jest coś zaznaczone".
Przypadek 3
uruchamiam makro wywołujące UserForm1
na listBox1 nie zaznaczam nic
klikam CB1 i Uf1 gaśnie i nic sie nie dzieje
prosze pomóżcie bo chyba zwariuje a nigdzie nie moge znaleź nic co by mi pasowalo
p.s. działam w excelu2007
Pozdrawiam
napisał: Trebor postów: 1209
umieszczony: 21 października 2009 18:56
To był tylko przykład jak sobie radzić. Kod poniżej powinien spełnić Twoje oczekiwania.
PrivateSub CommandButton1_Click() Dim i AsByte For i = 0 To ListBox1.ListCount - 1 If ListBox1.Selected(i) = TrueThen
MsgBox "Zaznaczony wiersz " & i + 1 EndIf Next i EndSub
Niestety u mnie takie rozwiązanie nie zadziałało
Ten kod daje na mojej ListBox taki efekt że jak nie zaznaczę nic to pokazuje mi się Msg, jak zaznacze jedną pozycję z listBox to tez pokauje msg a jak zaznaczę więcej niż jedną pozycję na listbox to wywala komunikat o kolizji wydarzeń czy jakoś tak.
A chodziło mi o to żeby procedura pomiędzy Then i End IF wykonyana była tylko wtedy kiedy w ListBox będzie co najmniej jedno zaznaczenie.
Acha - próbowałem zimienić ten warunek z True an False ale wtedy procedura jest wykonywana zawsze niezależenie od zaznaczeń w List Box
Witam
Mam UserForm z kilkoma ListBox multiselected
Chcę żeby program podejmował określone działa w zależności od tego czy zaznaczono cokolwiek na poszczególnych ListBoxach.
Typu IF w ListBox1 zaznaczono cokolwiek Then
jakaś procedura
End IF
Utknąłem bo nie potrafię napisać takiego warunku w "If" żeby sprawdził czy w ListBox1 coś zostało wogóle zaznaczone.
Mam nadzieje żewyraziłem sie wystarczająco jasno
Dzięki za pomoc
Pozdrawiam