< návrat zpět

MS Excel


Téma: VBA Automatické vyplnění formuláře rss

Zaslal/a 2.5.2018 16:42

Zdravím. Mám jednoduše nastavený commandbutton ve formuláři na automatické vyplňování polí.
Konkrétně podle vybrané SPZ v ComboBoxu1 vyplní ostatní údaje ve formuláři z databáze aut. Bez problémů funguje. Jen nesmí být SPZ složena pouze z číslic. Musí tam být alespoň jeden jiný znak, jinak mi to háže chybu hned u prvního VLookup.
Což o to, v SPZ je vždycky písmeno, ale jednak mně štve, že nevím v čem je problém a jednak budu vytvářet i další podobné formuláře, kde už by to problém být mohl :)
Tak prosím o radu.
Private Sub CommandButton2_Click()
'Automatické vyplnění formuláře z dtb
spz = ComboBox1.Value
If spz = "" Then
MsgBox "Nevyplněna SPZ"
Else
Dim hledejSPZ As Range
Set hledejSPZ = Worksheets("Auta").Cells.Find(What:=spz, After:=Worksheets("Auta").Cells(1, 1), LookIn:=xlFormulas, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False, SearchFormat:=True)
If Not hledejSPZ Is Nothing Then
znacka = WorksheetFunction.VLookup(ComboBox1.Value, Worksheets("Auta").Range("A:L"), 2, False)
TextBox1.Value = znacka
typ = WorksheetFunction.VLookup(ComboBox1.Value, Worksheets("Auta").Range("A:L"), 3, False)
TextBox2.Value = typ
'atd.
Else
MsgBox "SPZ nenalezena"
End If
End If
End Sub

Zaslat odpověď >

#040267
avatar
Řekl bych, že problém bude v datovém typu hledané hodnoty, tzn. bude se ti tam tlouci hledání čísla/textu, a bude potřeba to ošetřit. Analogicky jako když hledáš přes SVYHLEDAT číslo 112 nebo "112" (s uvozovkami jako text), tak také nedostaneš stejný výsledek...
P.citovat
#040274
elninoslov
Naformátujte prehľadávaný stĺpec ako Text. Nemusíte vyhľadávať 12x, keď máte 12 stĺpcov. Stačí raz. Vymyslel som si príklad, keďže ste prílohu nedal. No ak chcete vyhľadávať iba časť SPZ, a vybrať si z možných nájdených, treba použiť napr. metódu čo som sem dával už niekoľkokrát, s formulárom, ktorý hneď ukazuje možné vyhovujúce dáta v ListBoxe. Len sa mi to nechce hľadať 7

Rovnako aj tu by nebolo treba tlačítko, stačilo by kontrolovať Enter a Click.
Příloha: zip40274_vyhledej-spz.zip (25kB, staženo 8x)
citovat
#040276
avatar
Díky.
Můj problém vyřešila triviální změna
spz = ComboBox1.Value
na spz = ComboBox1.Text


elninoslov díky za hezký příklad, jak je možné optimalizovat kód, když se to umí :)citovat

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura III

Oblíbený formulář Faktura byl vylepšen a rozšířen. Formulář faktura III
Více se dočtete zde.

Aktivní diskuse