Fehler wenn mehr als ein Excel Dokument geöffnet ist

südpol

Erfahrenes Mitglied
Hi,

ich habe ein kleines Makro in einem Excel geschrieben. Das Teil funktioniert auch genau so wie es soll - solange kein weiteres Excel geöffnet ist. Sobald ein zweites Dokument offen ist steigt das Makro an diesem Punkt aus:

Visual Basic:
Set rng = Workbooks(1).Names("my_name").RefersToRange.Find(IterCell.Value)

Hat jemand einen Tipp an was das liegt und vor allem wie ich das fixen kann?
 
Weil workbooks(1) die erste arbeitsmappe referenziert. Wenn dein makro nur für die arbeitsmappe gelten soll, lass das workbooks(1) weg.
 
Hi,

wenn ich das ganze in:
Visual Basic:
Set rng = Names("my_name").RefersToRange.Find(IterCell.Value)

umschreibe, dann bekomme ich die Fehlermeldung bei jedem Aufruf.
 
Hi,

die Lösung ist das Workbook("1") durch AcitveWorkbook. zu ersetzen (an sich auch logisch).
Visual Basic:
Set rng = ActiveWorkbook.Names("my_name").RefersToRange.Find(IterCell.Value)
 
Das ganze ActiveXXXX (book, sheet, etc.) vermeide ich wo es nur geht. Stell dir vor du lässt deinen code laufen, und während er läuft startest du ein anderes workbook, welches, sobald es in der vordergrund kommt, zum activeworkbook wird. Und schon knallts....
 
Zurück