4.1k Aufrufe
Gefragt in Tabellenkalkulation von
Hallo,
ich sitze vor einem kniffligen Problem (Excel 2013), und finde grade
keine Lösung.

Ich habe eine Mappe in meinem Dokument, die ich 1:1 in eine andere
Mappe des dokuments spiegeln möchte, d.h. in der 2. Mappe ändern
sich die Werte immer automatisch. Soweit kein Problem.

Doch jetzt kommt es: Ich möchte diese andere Tabelle anders
sortieren, d.h. nicht nach Spalte A, wie in der Mappe 1, sondern nach
Spalte B. Und nun bin ich überfragt. (Also nicht manuell bzw. per Klick
sortieren, sondern automatisch!)

Ich würde mich freuen, falls mir jemand einen Tipp geben kann.

Grüße
Daniel

6 Antworten

0 Punkte
Beantwortet von m-o Profi (22.8k Punkte)
Hallo Daniel,

vorab eine kurze Anmerkung: Bitte verwende die richtigen Begriffe:
Arbeitsmappe = ist deine Excel-Datei, die mehrere Tabellenblätter enthalten kann
Arbeitsblatt oder Tabelle = ist das einzelne Arbeitsblatt, in dem deine Daten stehen (bei dir die Mappe)
Dokument = WORD-Datei; diesen Begriff gibt es in Excel nicht
(zur Info für deine nächste Anfrage :-)).

Nun zu deiner Frage.
Wenn du deine zweite Tabelle automatisch anders sortieren willst, brauchst du ein entsprechendes Makro.

Füge in das VBA-Projekt deines Arbeitsblattes (LINK!) den folgenden Code ein:

Private Sub Worksheet_Activate()
Dim lzeile, lspalte As Long

lzeile = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
lspalte = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Column

ActiveSheet.Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Tabelle2").Sort.SortFields.Add Key:=Range(Cells(2, 2), Cells(lzeile, 2)) _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveSheet.Sort
.SetRange Range(Cells(1, 1), Cells(lzeile, lspalte))
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With

End Sub


Ich gehe davon aus, dass die Tabelle Überschriften enthält. Nun wird deine Tabelle jedesmal sortiert, wenn du auf die Tabelle wechselst.

Wie du die Makro-Ausführung in Excel 2013 aktivierst, kannst du hier nachlesen:
KLICK MICH!

Gruß

M.O.
0 Punkte
Beantwortet von beverly Experte (3.5k Punkte)
Hi Daniel,

schau mal hier www.excelformeln.de/formeln.html?welcher=226 - vielleicht hilft das weiter.

Bis später,
Karin
0 Punkte
Beantwortet von
Hallo,

wenn du Daten von einem Tabellenraster in ein anderes konvertieren willst, kommst du um ein Makro nicht drumrum. M.O. hat bereits einen Vorschlag unterbreitet. Wenn du aber sicher bist, dass KEINE zusätzlichen Zeilen eingefügt werden, sondern nur bestehende Daten in Tabelle 1 geändert werden, kannst du auch einen einfacheren Weg gehen:

[*]Kopiere Den Bereich in Tabelle 1
[*]Wähle in Tabelle 2 Inhalte Einfügen --> Tabelle Verknüpfen
[*]Sortiere Tabelle2 wie gewünscht.

ACHTUNG: Zum Sortieren musst du in Tabelle 2 Spalte A und B markieren aber nach Spalte B sortieren.

Da jeder Wert trotz Neusortierung mit seinem Ursprungswert verknüpft ist, wird dieser bei Änderung in Tabelle1 automatisch angepasst.

Solltest du doch mal eine Zeile an- oder einfügen, musst du den Vorgang natürlich wiederholen.

Gruß Mr. K.
0 Punkte
Beantwortet von
Hallo M.O., Karin und Mr. K.,

vielen Dank für eure gut verständlichen Antworten, ich werde beide Wege gleich ausprobieren. DANKE!

Schönen Gruß
Daniel

@M.O. Danke für die Nachhilfe ;) Du hast vollkommen Recht...
0 Punkte
Beantwortet von
Hallo Daniel,

probier vielleicht auch Folgendes:

Formel zwecks aufsteigender Sortierung der Spalte B:

{=INDEX(B:B;VERGLEICH(KGRÖSSTE(ZÄHLENWENN(B$1:B$99;">="&B$1:B$99)+99*ISTZAHL(B$1:B$99);ZEILEN($1:1));ZÄHLENWENN(B$1:B$99;">="&B$1:B$99)+99*ISTZAHL(B$1:B$99);0))&""}

runterkopieren bis?

[sub]Achtung Matrixformel:
die geschwungenen Klammern entfernen, anschließend mit Strg/Shift/Enter gleichzeitig abschließen, erst dann runterkopieren[/sub]

Formel dazupassend für Spalte A:

=WENN(ISTNV(INDEX(A:A;VERGLEICH(C1;B:B;0)));"";INDEX(A:A;VERGLEICH(C1;B:B;0)))

runterkopieren bis ?

C1 in der Formel deswegen weil ich die vorherige Formel provisorisch in Spalte C eingefügt habe.

Ansonsten wären die Ziel- und Quelldatenbereiche so wie es gebraucht wird anzupassen.


Gruß

Paul1

getestet mit Excel 2003
0 Punkte
Beantwortet von paul1 Experte (4.9k Punkte)
Hallo Daniel,

Beispiel zu AW5:

http://www.file-upload.net/download-9163804/Test-Auflistung1.xls.html

Bei Eingaben in Spalten A und B wird in den Spalten C und D automatisch neu sortiert.

Die Anpassung nach Deinen Erfordernissen (wie bereits erwähnt) wäre deinerseits noch durchzuführen.

Gruß

Paul1
...