Dober dan,
dnevno prejemam TXT datoteko, ki praviloma nima vedno v sebi iskane vsebine (niza).
Kadar jo ima, z mojim makrom (znanjem) podatke najdem, jih označim, kopiram v drug TXT, uvozim v Excel, jih uredim in shranim na želena mesta.
Kadar TXT datoteka iskanega niza nima, makro javi napako "Run-time error '91'", "Object variable or With block variable not set".
Za iskanje niza uporabljam: "Cells.Find ("Iskani_niz")".
Kako naj se izognem javljanju napake, če iskanega niza ni v TXT in prekinitvi nadaljnjega izvajanja makra?
Hvala in Lp,
Fatso
Iskanje niza v TXT in nadaljevanje če ga ni
VBA se napakam "izogne" z uporabo rezerviranega niza "On Error...". Tolje ja melce obširnejša tematika, zato vam spodaj podajam kar eno izmed možnih rešitev, ki je tudi ustrezno komentirana:
Koda: Izberi vse
'
' www.matjazev.net
' september 2009
'
Sub Test()
On Error GoTo ObravnavajNapako ' tu poveste, kam naj skoči program, če se zgodi napaka
Debug.Print "Tole se izpiše"
Debug.Print 12 / 0 ' nekje v kodi se lahko zgodi napaka
Debug.Print "Tole pa se, zaradi napake, ne bo izpisalo!"
Exit Sub ' POZOR: Če se napaka ni zgodila, potem je potrebno
' zaključiti proceduro še preden bi program prišel do
' programske kode, ki napako obavnava
ObravnavajNapako: ' to je neko ime, ki ste ga določili zgoraj in ima na
' koncu dvopičje!
Debug.Print "Zgodila se je napaka!" ' tu obravnavete napako oz. tu se program izvaja dalje
End Sub
lp,
Matjaž Prtenjak
Administrator
Matjaž Prtenjak
Administrator