Iskanje niza v TXT in nadaljevanje če ga ni

Pomoč pri izdelavi makrov
Odgovori
Fatso
Prispevkov: 42
Pridružen: Ne Jan 07, 2007 2:01 pm
Kraj: Ljubljana
Kontakt:

Iskanje niza v TXT in nadaljevanje če ga ni

Odgovor Napisal/-a Fatso »

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
admin
Site Admin
Prispevkov: 3687
Pridružen: Sr Jul 20, 2005 10:06 pm

Odgovor Napisal/-a admin »

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
Fatso
Prispevkov: 42
Pridružen: Ne Jan 07, 2007 2:01 pm
Kraj: Ljubljana
Kontakt:

Odgovor Napisal/-a Fatso »

Hvala lepa za hiter odgovor.
Sem že uporabil in "pokorno javljam" da deluje.

Lp,
Fatso
Odgovori