Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Sortieren - Formelbezüge ändern sich

Sortieren - Formelbezüge ändern sich
Nontacky
Hallo Excel Profis,
ich habe mal wieder eine Frage. Ich habe ein Sortieren Makro das eine Liste von A7 - Az5000 sortiert und zwar nach dem was in Spalte F steht (aufsteigend). In allen Spalten bis auf A-F stehen Formeln, die sich natürlich der Sortierung entsprechend dann anpassen sollen, wenn ich die Bezüge nicht per $ Zeichen fixiert habe.
Das funktioniert in allen Spalten mit Formeln aber komischerweise bei einer nicht. Ich kann mir das überhaupt nicht erklären, außer dass es evtl. an der Formel liegt. Die Spalte bei der ich das Problem habe, ist die einzige die eine INDEX Formel enthält. Wenn ich diese Formel zum testen in eine andere Spalte kopiere in der sonst Formeln drin sind, die beim Sortieren keine Probleme machen, taucht das Problem wieder auf = das verstärkt meine Vermutung, dass es was mit der Formel an sich zu tun hat.
Das ist die Formel:
=INDEX('[Projectplan_DYN.xlsm]Projectplan-DYN'!$C:$C;VERGLEICH(Abrechnung!F7; '[Projectplan_DYN.xlsm]Projectplan-DYN'!$AS:$AS;0))
Das Tabellenblatt das ich sortiere heißt "Abrechnung" - ich habe das Problem mit dem Eintrag "Abrechnung!F7" - dieser Bezug sortiert sich nicht dynamisch mit (also wenn ich so umsortiere, dass Zeile 10 zu Zeile 7 wird, steht in der Formel in Zeile 7 dann plötzlich F10 obwohl da doch F7 stehen müsste.
Ich hoffe ihr versteht was ich meine, es wäre super wenn da jemand eine Idee hat wie das passieren kann.
Das Makro zum Sortieren sieht so aus
Range("F6").Select
Range("A7:Az5000").Sort Key1:=Range("F6"), Order1:=xlAscending, Header:= _
xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, _
DataOption1:=xlSortNormal
Range("E5").Select
End Sub
Vielen Dank!
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Sortieren - Formelbezüge ändern sich
03.03.2012 18:18:07
fcs
Hallo Nontacky,
lasse in der Formel das "Abrechnung!" vor F7 weg, dann sollte es funktionieren.
Die Angabe des Tabellenblatts im Zellbezug führt hier dazu, dass Excel -aus welchen Gründen auch immer- die Bezüge wie absolute Bezüge behandelt.
Gruß
Franz
AW: Sortieren - Formelbezüge ändern sich
04.03.2012 17:19:21
Nontacky
Hallo Franz,
genial - genau das ist es! Excel ist doch immer wieder eine tolle Wundertüte..
Vielen Dank
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Formelbezüge beim Sortieren in Excel anpassen


Schritt-für-Schritt-Anleitung

Um sicherzustellen, dass Deine Formelbezüge beim Sortieren in Excel dynamisch bleiben, folge diesen Schritten:

  1. Überprüfe Deine Formel: Achte darauf, dass die Formel keine festen Bezüge verwendet, die durch das $-Zeichen definiert sind. Beispielsweise könnte die Formel =INDEX('[Projectplan_DYN.xlsm]Projectplan-DYN'!$C:$C;VERGLEICH(Abrechnung!F7; '[Projectplan_DYN.xlsm]Projectplan-DYN'!$AS:$AS;0)) angepasst werden.

  2. Entferne den Tabellennamen: In Deinem Fall solltest Du das "Abrechnung!" vor F7 weglassen. Die Formel würde dann so aussehen:

    =INDEX('[Projectplan_DYN.xlsm]Projectplan-DYN'!$C:$C;VERGLEICH(F7;  '[Projectplan_DYN.xlsm]Projectplan-DYN'!$AS:$AS;0))
  3. Makro überprüfen: Achte darauf, dass Dein Sortier-Makro korrekt eingerichtet ist. Hier ist ein Beispiel, wie Dein Makro aussehen könnte:

    Sub SortiereListe()
       Range("F6").Select
       Range("A7:Az5000").Sort Key1:=Range("F6"), Order1:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
       Range("E5").Select
    End Sub
  4. Sortieren ausführen: Führe das Makro aus, um die Liste zu sortieren und überprüfe, ob die Formelbezüge nun korrekt angepasst werden.


Häufige Fehler und Lösungen

  • Problem: Bezüge ändern sich nicht dynamisch.

    • Lösung: Entferne den Tabellennamen aus den Formelbezügen, um zu verhindern, dass Excel diese als absolute Bezüge behandelt.
  • Problem: Makro funktioniert nicht wie erwartet.

    • Lösung: Stelle sicher, dass die Range im Makro korrekt definiert ist und keine Konflikte mit anderen Zellen entstehen.

Alternative Methoden

Falls Du das Problem weiterhin hast, gibt es alternative Methoden:

  • Verwendung von Tabellen: Konvertiere Deinen Datenbereich in eine Excel-Tabelle. Tabellen passen sich automatisch an, wenn Du Daten hinzufügst oder sortierst.

  • Benutzerdefinierte Sortierung: Verwende Excel-Funktionen wie SORTIEREN oder FILTER, um dynamische Listen zu erstellen, die automatisch aktualisiert werden.


Praktische Beispiele

Hier ein Beispiel, das zeigt, wie man Formelbezüge in einer Tabelle anpassen kann:

  1. Erstelle eine Tabelle mit den Spalten A bis F.
  2. Füge in Spalte G die Formel ein:
    =INDEX('[Projectplan_DYN.xlsm]Projectplan-DYN'!C:C;VERGLEICH(F7; '[Projectplan_DYN.xlsm]Projectplan-DYN'!AS:AS;0))
  3. Entferne das "Abrechnung!" aus der Formel und führe das Sortieren durch. Überprüfe, ob die Bezüge korrekt aktualisiert werden.

Tipps für Profis

  • Verwende Namensbereiche: Definiere Bereiche für Deine Daten, um die Lesbarkeit Deiner Formeln zu verbessern.
  • Nutze die Funktion "SVERWEIS": In einigen Fällen kann SVERWEIS eine bessere Alternative zu INDEX und VERGLEICH sein, insbesondere wenn Du mit großen Datenmengen arbeitest.
  • Daten validieren: Überprüfe regelmäßig die Formeln, um sicherzustellen, dass sie bei Änderungen in der Tabelle weiterhin korrekt funktionieren.

FAQ: Häufige Fragen

1. Wie verhindere ich, dass Excel Bezüge als absolute behandelt?
Entferne den Tabellennamen aus Deinen Formelbezügen, um zu gewährleisten, dass sie als relative Bezüge behandelt werden.

2. Was kann ich tun, wenn mein Makro nicht funktioniert?
Überprüfe die Range und stelle sicher, dass alle Zellen im Sortierbereich korrekt definiert sind. Teste das Makro schrittweise, um Fehler zu identifizieren.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige