vbamania.pl
login:
hasło:
 
  *Rejestracja *Zapomniane hasło
 Dziś jest niedziela, 28 kwietnia 2024 roku.
Ustaw jako stronę startową Ulubione Napisz
PowrótPowrót do serwisu  RegulaminRegulamin rssRSS

  tytuł wątku:
Wątki dyskusji

Problem z filtrem w ListBox oraz Private Sub ListBox1_Click()


otwartyotwarty rozpoczął: jamanow postów: 7



napisał: jamanow
postów: 69


umieszczony:
18 maja 2013
18:55

  
Jak zarazie to wystarczy. Jak zwykle super dzięki za pomoc i cenne podpowiedzi.
napisał: Trebor
postów: 1209


umieszczony:
18 maja 2013
15:52

  
Zdaje się, że masz problem z ustaleniem ostatniego wiersza w arkuszu filtrowanym. Gdy wpiszesz do pola tekstowego np. 2, zadziała filtr. Gdy teraz dopiszesz do dwójki zero, ostatni wiesz zostanie wyłapany dla listy z czynnym filtrem dla dwójki, a więc coś koło 27. Reszta kodu działa na niewłaściwych zakresach.
Czy taka pomoc jest wystarczająca (ta poprawka będzie bardziej złożona od poprzednich)?
napisał: jamanow
postów: 69


umieszczony:
18 maja 2013
12:03

  
2. Działa perfekt.
wier = UserForm1.ListBox1.Value * 10


1. nie dokonując rozumie.
Ozywając operatora "=" działa tylko dla jednocyfrowych liczb 1-9.
W momencie ożycia liczby dwucyfrowej filtruje wszystko. wynik " "
Używając ">=" lub "<=" działa poprawnie.
napisał: Trebor
postów: 1209


umieszczony:
17 maja 2013
20:31

  
1. To nie są operatory. Chodzi o coś takiego
.Range("$B$7:$J$" & wost).AutoFilter Field:=1, Criteria1:=">" & b, Operator:=xlAnd

czyli większe mniejsze.
2. U mnie nie działa, ale to kwestia przecinków lub kropek. U Ciebie powinno wystarczyć:
wier = UserForm1.ListBox1.Value * 10

napisał: jamanow
postów: 69


umieszczony:
17 maja 2013
18:26

  
1. Próbowałem wszystkich operatorów liczb: Long, Single, Dubble (bez pozytywnego efektu). Formatowanie kolumn B i J na text (bez pozytywnego efektu). Nic nie rozumie
2. Rozwiązałem w dosyć niekonwencjonalny amatorski sposób, (działa bez zarzutu)

Private Sub ListBox1_Click() 'Markering av rader som är markerade i LiatBox-en
    Dim i As Long
    Dim wier As Integer
    wier = CInt(UserForm1.ListBox1.List(UserForm1.ListBox1.ListIndex, 0) * 10)

    If ListBox1.ListIndex >= 0 Then
        On Error Resume Next
        PM_Index.Range(Cells(wier - 2, "B"), Cells(wier - 2, "I")).Select
    End If
End Sub

napisał: Trebor
postów: 1209


umieszczony:
16 maja 2013
17:55

edytowany:
17 maja 2013
06:02

  
1. Zamień zawartość komórek w kolumnach B i J na tekst lub stosuj operatory dla liczb
2 W ListBox1 w pierwszej wolnej kolumnie dopisz nr wiersza z arkusza (i), w którym znajdują się dane. Przy kliku wykorzystuj tę kolumnę do zaznaczania odpowiednich wierszy. Tak będzie najłatwiej i najszybciej.
napisał: jamanow
postów: 69


umieszczony:
15 maja 2013
21:15

  
Witam.
Wykombinowałem filtr bazy danych (załącznik), w którym mam 2 problemy, z którymi nie mogę sobie poradzić.
1. Filter1-Nr oraz Filter9-SidNr nie wyszukuje cyfr.

2. Private Sub ListBox1_Click()
Jak zrobić by Sub skakał zgodnie z idex-em wierszy a nie moja numeracją wierszy?


<-wstecz  1  dalej->
wszystkich stron: 1


Sortuj posty: z