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

  tytuł wątku:
Wątki dyskusji

Problem z wyszukaj pionowo


otwartyotwarty rozpoczął: kikirger postów: 2



napisał: Trebor
postów: 1209


umieszczony:
26 października 2012
16:07

edytowany:
26 października 2012
16:08

  
Wyszukaj pionowo z przeszukiwanym zakresem ustawionym na True wymaga, aby zbiór był posortowany. Jeśli przeszukiwany zakres ustawisz na False (0) to w przypadku nie wyszukania danych otrzymasz błąd. Musisz ten błąd obsłużyć. Najprościej
On error resume next
twoja procedura mogąca zwrócić błąd
On error goto 0

napisał: kikirger
postów: 2


umieszczony:
26 października 2012
11:20

  
Witam, jestem początkującym w VBA., od tygodnia się głowię nad jednym problemem. Do tej pory sam sobie radziłem z problemami, a teraz postanowiłem pierwszy raz zapytać. Chcę żeby po uruchomieniu makra wszystko odbywało się już w jego wnętrzu, dlatego zaciągam potrzebna dane na samym początku i cała reszta funkcji i procedur ma się odbywać poza odwołaniem do arkusza z jednym wyjątkiem. Potrzebuję wyszukać pionowo i pobrać do TextBox wartość
Krótko opiszę jak działa moje całe makro i na końcu w kleję tą część kodu z którą mam problem. Przy uruchamianiu zaciąga dane tekstowwe do 2 combobox_change ustawione na index = 0 . W wyniku zmiany do pola textbox1 przesyłany jest tekst z połączenia części tekstu combobox1 i części tekstu combobox2.

Chcę zrobić tak, żeby po kliknięciu na przycisk uruchamiało się makro które, zwraca mi do TextBox4 wartość tekstową z wyszukanego zakresu dla zmiennej z pola TextBox1 .

Private Sub Count_Click()

Call Zwracanie
Me.TextBox3.Value = Format(Range("I7").Value, "####0.00000")
Me.lotbox.Value = Format(pipslot(TextBox3.Value), "####0.00")
Me.minibox.Value = Format(pipsmini(TextBox3.Value), "####0.00")
Me.microbox.Value = Format(pipsmicro(TextBox3.Value), "####0.00")

End Sub

Sub Zwracanie()

Dim zwrot As String, zakres As Range, szukana As String

Set zakres = Arkusz2.Range("A1:E124")
szukana = TekstBox1.Text

zwrot = Application.WorksheetFunction.VLookup(szukana, zakres, 5)
TextBox4.Text = zwrot

End Sub



Zwraca mi wartości ale nie te co powinno, a kiedy jest sytuacja, że wyszukiwanego argumentu nie ma w zakresie to też mi zwraca jakąś wartość nawet nie wiem jaką i dlaczego - chciałem wstawić 0 po 5 ale dla powyższego przykładu jak po liczbie 5 dodam zero czyli tak ...5, 0) to przerywa mi makro i podświetla na żółto linijkę "zwrot = Application.WorksheetFunction.VLookup(szukana, zakres, 5, 0)


<-wstecz  1  dalej->
wszystkich stron: 1


Sortuj posty: z