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

Tabelle automatisch sortieren lassen

Tabelle automatisch sortieren lassen
21.07.2013 22:36:36
Dietmar
Hallo ihr VBA-Freaks,
in der unten aufgeführten Datei seht ihr eine Tabelle, die ich jeden Monat einmal
bearbeiten muß. Sie hat wesentlich mehr Konten als aufgeführt (ca 250).
Das Problem ist, dass jeder neue Monat in die bestehende Tabelle eingefügt werden muß,
aber entweder gibt es neue Konten oder die Konten vom Vormonat fehlen, eventuell sind sie im übernächsten wieder dabei.
Meine Aufgabe ist es, die gleichen Konten in allen Monaten in ein und dieselbe Zeile
zu bringen.
Gibt es dafür villeicht eine tolle VBA-Lösung ?
Viele Grüße
Dietmar Burgard
https://www.herber.de/bbs/user/86492.xlsx

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Tabelle automatisch sortieren lassen
21.07.2013 23:39:54
Matze
Hallo Dietmar,
dafür brauchst du kein VBA , habe deine Datei mal so abgeändert, das du nur noch oben einfügen musst.
Voraussetzung ist "identische" Monatsnahmen.
=WENNFEHLER(INDEX($B$2:$X$10;VERGLEICH($A16;$A$2:$A$10;0);VERGLEICH(B$15;$B$1:$X$1;0));"")
https://www.herber.de/bbs/user/86494.xlsx
ich hoffe das sollte so ausreichen, denn VBA ist nur Hobby von mir.
Matze

AW: Tabelle automatisch sortieren lassen
22.07.2013 09:04:19
Dietmar
Hallo Matze,
leider ist nicht so einfach,
die Konten sollen sich wieder finden, d.h. altes oder neues Konto nicht gefunden, rutscht die Zeile solange weiter bis eine Übereinstimmung der Konten statt findet.
Gruß
Dietmar
https://www.herber.de/bbs/user/86497.xlsx

Anzeige
AW: Tabelle automatisch sortieren lassen
22.07.2013 11:10:53
mpb
Hallo Dietmar,
für den Fall, dass die Daten für Januar und Februar genau so angeordnet sind, mal Folgendes als Anregung:
Sub Anordnen()
Application.ScreenUpdating = False
z = Cells.SpecialCells(xlCellTypeLastCell).Row
For i = 2 To z
If Cells(i, 1)  Cells(i, 3) Then
If Cells(i, 1) > Cells(i, 3) Then
Range(Cells(i, 1), Cells(i, 2)).Insert Shift:=xlDown
z = z + 1
Else
Range(Cells(i, 3), Cells(i, 4)).Insert Shift:=xlDown
End If
End If
Next i
Application.ScreenUpdating = True
End Sub
Gruß
Martin

AW: Tabelle automatisch sortieren lassen
22.07.2013 12:35:45
Dietmar
Hallo Martin,
der Code funktioniert bis zum letzten Konto, dieses bleibt aber in der For-Next-Schleife stecken und
irgendwann steht dieses Konto in irgendeiner Zeile.
Erstmal Danke !
Gruß Dietmar
Datei nochmal zum Probieren
https://www.herber.de/bbs/user/86504.xlsx

Anzeige
AW: Tabelle automatisch sortieren lassen
22.07.2013 12:41:27
mpb
Hallo Dietmar,
so?
Sub Anordnen()
Application.ScreenUpdating = False
z = Cells.SpecialCells(xlCellTypeLastCell).Row
For i = 2 To z
If IsEmpty(Cells(i, 1)) Then Exit For
If Cells(i, 1)  Cells(i, 3) Then
If Cells(i, 1) > Cells(i, 3) Then
Range(Cells(i, 1), Cells(i, 2)).Insert Shift:=xlDown
z = z + 1
Else
Range(Cells(i, 3), Cells(i, 4)).Insert Shift:=xlDown
End If
End If
Next i
Application.ScreenUpdating = True
End Sub
Gruß
Martin

AW: Tabelle automatisch sortieren lassen
22.07.2013 13:14:00
Dietmar
Hallo Martin,
funktioniert prima, aber wie schaut es aus für die Folgemonate bis Dez ?
Grüße
Dietmar

Anzeige
AW: Tabelle automatisch sortieren lassen
22.07.2013 13:54:22
mpb
Hallo Dietmar,
hast Du mal eine Beispieldatei?
Ein möglicher Ansatz: alle existierenden Nummern per VBA in eine Spalte (ggf. ausgeblendet) kopieren und aufsteigend sortieren. Dann für jeden Monat die einzelnen Einträge nach unten verschieben, so dass sie zu den "gesammenlten" Daten passen. Dazu müsste man mein Makro anpassen. Wichti zu wissen wäre, wie der Dateiaufbau im Anwendungsfall wirklich aussieht, damit Du nichts mehr anpassen musst.
Gruß
Martin

AW: Tabelle automatisch sortieren lassen
22.07.2013 14:42:29
Dietmar
Hallo Martin,
in seiner letzten Antwort hat Matze netterweise die komplette Datei bis Dez ergänzt.
Dein Quellcode für alle Monate, das wäre gut.
Gruß
Dietmar

Anzeige
AW: Tabelle automatisch sortieren lassen
22.07.2013 16:29:28
mpb
Hallo Dietmar,
versuche mal
Sub Anordnen_2()
Application.ScreenUpdating = False
Range(Cells(2, 25), Cells(Range("Y65536").End(xlUp).Row, 25)).ClearContents
Range("Y1") = "Konten"
z = Cells.SpecialCells(xlCellTypeLastCell).Row
For j = 1 To 23 Step 2
Range(Cells(2, j), Cells(z, j)).Copy Destination:=Range("Y65536").End(xlUp).Offset(1, 0)
Next j
Columns("Y:Y").Sort Key1:=Range("Y1"), Order1:=xlAscending, Header:=xlGuess
x = Range("Y65536").End(xlUp).Row
For k = x To 2 Step -1
If Cells(k, 25) = Cells(k - 1, 25) Then
Cells(k, 25).Delete Shift:=xlUp
End If
Next k
For m = 1 To 23 Step 2
For i = 2 To x
If IsEmpty(Cells(i, m)) Then Exit For
If Cells(i, m)  Cells(i, 25) Then
Range(Cells(i, m), Cells(i, m + 1)).Insert Shift:=xlDown
End If
Next i
Next m
Application.ScreenUpdating = True
End Sub

Voraussetzungen:
1. Spaltenaufbau wie in Musterdatei, Spalte Y wird als Hilfsspalte verwendet.
2. Die Kontennummern sind für jeden Monat aufsteigend sortiert und ohne Leerzellen in die Spalten A, C, ... eingetragen.
https://www.herber.de/bbs/user/86506.xls
Gruß
Martin

Anzeige
AW: Tabelle automatisch sortieren lassen
22.07.2013 17:37:04
Dietmar
Hallo Martin,
Perfekt !!!
Habe es natürlich gleich probiert.
Du hast es voll drauf !
Vielen herzlichen Dank für deine Mühe.
viele Grüße
Dietmar

Bitte Profi drüberschauen, danke - offen!
22.07.2013 12:43:23
Matze
Hallo Dieter,
hab mich wohl ein wenig zu weit aus dem Fenster gelehnt,
aber du könntest mal auf meine Rückfragen antworten, danke.
die Profis werden das schon richten.
Matze

AW: Tabelle automatisch sortieren lassen
22.07.2013 11:32:04
Matze
Hallo Dieter,
ja habs gestern Abend auch schon bemerkt das ich das völlig ausser acht gelassen habe.
War Schlafenszeit,....!
Rückfrage zu den Kontonummern:
wäre es nicht Sinnvoll diese Nummern komplett in einer Spalte zu listen?
Die Zuordnung der Daten ginge einfacher.
Oder ist es so gemeint, das im Feb-Konto das 1111 KtoNr NICHT mehr gibt?
Wenn nun im Mrz-Konte wieder ein 1111er gibtkönnte es gleich automatisch aufaddiert werden,oder?
So ist das ja richtig verwirrend.
Ich überleg mir mal was, dauert ein Weilchen, bis später.
Matze

Anzeige
AW: Tabelle automatisch sortieren lassen
22.07.2013 12:42:37
Dietmar
Hallo Matze,
im Januar stehen die Konten alle sortiert untereinander, im Februar geht es dann los.
Neue Konten die größer sind müssen weiter nach unten rutschen weil sie ja im Vormonat nicht gefunden werden können.
Erstmal Danke !
Gruß
Dietmar

AW: Tabelle automatisch sortieren lassen
22.07.2013 13:11:24
Dietmar
Hallo Matze,
sorry wegen meiner wohl zu abstakten Antwort.
Ja das Konto 1111 gibt es im Feb nicht mehr, wenn es im März wieder existiert, soll es wie im Jan in der
gleichen Zeile stehen.
Ich hoffe ich habe dein Frage(n) richtig beantwortert.
Grüße
Dietmar

OFFEN!! bitte Profi drüber schauen,..
22.07.2013 13:41:05
Matze
Hallo Dieter,
wenn der Beitrag/Aufgabe noch nicht beantwortet ist und du weitere Fragen zum Thema hast,
dann markiere das "Kästchen" gleich neben Passwort , dort wo du auch die Eingaben machst,
dann steht der Beitrag nachher als "offen" deklariert ALLEN Usern hier zur Sichtung bereit.
Hier hab ich noch eine Datei : https://www.herber.de/bbs/user/86505.xlsx
wiederum mit den Formel aber vom Aufbau übersichtlicher.
Nun muss einer der Profis sich das mal ansehen um das zu "automatisieren".
VBA wäre hier bestimmt zweckdienlicher, wir mal was heraus kommen wird.
Matze

Anzeige
AW: Tabelle automatisch sortieren lassen
22.07.2013 16:10:41
Rudi
Hallo,
warum nicht einfach mit nem vernünftigen Aufbau und Pivot-Tabelle?
ABCDEFGHI
1         
2         
3     Summe von KWhMonat  
4MonatKontoKWh  KontoJan 13Feb 13Gesamtergebnis
5Jan 1311001232324  1100123232476341239958
6Jan 1311112232  11112232 2232
7Jan 13112523  1123323 323
8Jan 131123323  11252312121235
9Jan 1311262214  1126221424444658
10Jan 1311273344  11273344 3344
11Feb 1311007634  1128 32323232
12Feb 1311251212  Gesamtergebnis1240460145221254982
13Feb 1311262444      
14Feb 1311283232      
15         
16         

Gruß
Rudi

Anzeige
AW: Tabelle automatisch sortieren lassen
22.07.2013 17:39:50
Dietmar
Hallo Rudi,
ist auch eine tolle Variante,
aber leider darf die Tabelle so nicht aussehen.
wurde von Martin gelöst.
Gruß
Dietmar

314 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige