Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
816to820
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
816to820
816to820
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Falsche Zellbezüge nach Makro

Falsche Zellbezüge nach Makro
06.11.2006 17:34:07
motze
Hallo mal wieder.
Ein Problem jagt das nächste und so suche ich wieder Hilfe bei Euch.
Also, ich habe ein Tool in Excel geschrieben, dass mit einer Liste mit ca. 1000 Einträgen arbeitet, d.h. löscht, kopiert, ausschneidet. Nebenbei habe ich eine Statistik, die die Tabelle auswertet.
In dieser Statistik wende ich verdammt oft SUMPRODUCT an und das immer mit den Bezügen $C$5:$C$5000, $H$5:$H$5000 und $T$5:$T$5000. Soweit die Ausgangssituation.
Wenn ich nun meine Makros über die Tabelle jage, passiert beispielsweise mal, dass 136 (variiert immer) Einträge gelöscht werden. Dann verschiebt sich leider der Bezug und anstelle der Zeilen 5 - 5000 werden einfach Zeilen 101 - 4945 als Zellbezug genutzt!
1. Warum?
2. Kann ich das umgehen?
Wenn nichts geht, würde ich gern ein "Fix"-Makro drüber laufen lassen, dass alle Bezüge wieder richtig setzt. Hab das schon probiert mit,
Cells.Replace What:="?", Replacement:="$C$5:$C$5000", LookAt:= _
xlPart, SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
wobei mich allerdings interessiert, was die ? sein sollen?
$C$*:$C$* geht nicht, weil er dann bis ans Ende der Zelle ersetzt!
Hinter dem 2. * kommen immer unterschiedliche Sachen wie "=", ";" oder ")"
Nehme ich die mit rein und häng die beim Ersetzen hinten ran, dann kommt immer nen Fehler!
Also, HILFE!!!
Kevin
PS Danke für die Antworten

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Falsche Zellbezüge nach Makro
06.11.2006 18:00:08
Stefan
Hallo Motze,
Fueg mal in dein Arbeitsblatt in der Stelle C1 eine neue Zelle ein, und Deine Zellbezuege werden dann ploetzlich auch aso aussehen: Summe($C$2:$C$5001). Dasselbe passiert wohl auch wenn Du Zellen loescht und hinzufuegst in deinem Arbeitsblatt. Deshalb solltest Du entweder nur Daten in Dein Blatt kopieren, und keine neuen Zellen, oder einfacher dem Bereich C1:C5000 einen Namen geben, in deinen Summen nur auf den Namen verweisen (=Summe(MeinName)) und am Ende des Makros eine Zeile einsetzen mit:

ActiveWorkbook.Names.Add Name:="Summe", RefersTo:="=Sheet1!$C$1:$C$5000"

um den Namen wieder auf den richtigen Bereich zu verweisen.
Schoene Gruesse
Stefan
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige