Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Formelbezug bei Spaltenlöschung beibehalten

Formelbezug bei Spaltenlöschung beibehalten
Philipp
Liebe Gemeinde,
ich habe ein kleines Tool auf VBA Basis, welches mir Probleme bereitet. In einer VBA Funktion lösche ich unteranderem Spalten. Dies führt dazu, dass sich die Excel Formeln, die in einem anderen Worksheet hinterlegt sind verändern. Dies möchte ich allerdings nicht. Gibt es dafür eine Lösung?
=SUMMENPRODUKT((auswertung!$N:$N=M$2)*(auswertung!$F:$F=$E4);auswertung!$O:$O)
wird (ungewollt) zu
=SUMMENPRODUKT((auswertung!$K:$K=M$2)*(auswertung!$F:$F=$E4);auswertung!$G:$G)

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Formelbezug bei Spaltenlöschung beibehalten
16.12.2011 11:59:24
guentherh
keine Lösung, da wichtiges Excel-Feature
Workaround1: Formeln danach per VBA nochmal schreiben
Workaround2: Blatt mit Bezügen in andere Datei auslagern, die zum Zeitpunkt des Löschens geschlossen ist
Gruß,
Günther
Verwende INDIREKT() oder BEREICH.VERSCHIEBEN()
16.12.2011 12:05:09
NoNet
Hallo Philipp,
bei der Selbsteinschätzung "Excel gut" gehe ich davon aus, dass Du die Funktionen INDIREKT() und BEREICH.VERSCHIEBEN() kennst !?!?
Beide bieten eine Lösung für Dein Problem :
=SUMMENPRODUKT((auswertung!$N:$N=M$2)*(auswertung!$F:$F=$E4);INDIREKT("auswertung!$O:$O"))
und :
=SUMMENPRODUKT((auswertung!$N:$N=M$2)*(auswertung!$F:$F=$E4);BEREICH.VERSCHIEBEN(auswertung!$A:$A;;14))

Gruß, NoNet
Anzeige
oder INDEX()
16.12.2011 12:22:39
Rudi
Hallo,
=SUMMENPRODUKT((Index(auswertung!$1:$10000;;14)=M$2)*(Index(auswertung!$1:$10000;;6)=$E4); Index(auswertung!$1:$10000;;15))
Gruß
Rudi
AW: Verwende INDIREKT() oder BEREICH.VERSCHIEBEN()
16.12.2011 13:28:47
Philipp
Danke für eure Hilfe :)
Mecker @NoNet
16.12.2011 13:47:48
Rudi
Hallo,
1. müsstest du die beiden Kriterienspalten auch in INDIREKT verpacken.
=SUMMENPRODUKT((indirekt("auswertung!$N:$N")=M$2)*(indirekt("auswertung!$F:$F")=$E4); INDIREKT("auswertung!$O:$O"))
2. Auch hier muss für die Kriterienspalten Bereich.Verschieben angewendet werden.
Zusätzlicher Knackpunkt: Wenn Auswertung!A:A gelöscht wird, ergibt Bereich.Verschieben #BEZUG!
Es lebe der INDEX! ;-)
Gruß
Rudi
Anzeige
AW: Mecker @NoNet
16.12.2011 14:23:58
Philipp
Hallo Rudi,
ich hab mich genau aus den Gründen, welche du gerade aufgeführt hast für deine index variante entschieden. Vielen Dank dafür
Gruß
Philipp

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige