ich probiere mich derzeit an der Problemstellung, die Bezüge von Makros auf Zellen relativ auszugestalten. Ähnlich wie bei den Formeln. D.h. wenn ich im VBA Code auf eine Zelle verweise (bspw. C1), in der ein Suchstring steht, dann soll diese Zelle auch noch vom Code gefunden werden, wenn ich eine Spalte eingefügt habe und der String dann in D1 steht. (Analog für das Einfügen von Zeilen, der String dann in C2 stünde)
Im Forum habe ich einen guten Hinweis dazu erhalten, aber meine VBA Kenntnisse reichen noch nicht aus, um diesen adäquat in den bestehenden Code einzubetten. Der Tip war, über Einfügen Namen definieren die Zellen als Namensdefinitionen zu hinterlegen, die vom Makro angesprochen werden können.
In einem kleinen Testmodul hat das auch funktioniert. Ich habe über Range(Namensdefinition) in einer Messagebox den Inhalt wiedergeben können, der in der Zelle steht, die sich hinter Namensdefinition verbirgt.
Was ich dabei jedoch nicht hinbekommen habe war, die Namensdefinition auch über cell( ) anzusprechen.
Ist es korrekt über Range zu gehen, um eine Namensdefinition in VBA zu verwenden? Ich habe keinen Hinweis dazu im Forum finden können? Was wäre der richtige/ optimale Weg?
In meinem Beispielmakro hat es nicht funktioniert, statische Zellbezüge gegen relative auszutauschen. Es kommt nicht einmal eine Fehlermeldung, ich kann also über den Debugger nirgendwo ansetzen, um über die Hilfe weiter zu kommen.
Ich wäre sehr dankbar, wenn mir jemand den Hinweis gibt, wie ich Namensdefinitionen korrekt und sicher in VBA Codes integrieren kann oder irgendeinen anderen Weg aufzeigt, Bezüge in VBA Codes relativ zu gestalten.
Beispieldatei:
https://www.herber.de/bbs/user/47238.xls
Vielen Dank für Eure Mühe und einen angenehmen Abend.
Gruß, Andreas Hanisch