Anzeige
Archiv - Navigation
1240to1244
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
Inhaltsverzeichnis

Von-Bis-Liste in chronologische Liste auflösen

Von-Bis-Liste in chronologische Liste auflösen
RGrupe@vhv.de
Hallo,
ich brauche Hilfe bei folgendem Problem:
Eine bestehende Liste hat folgenden Aufbau (A: Schlüssel, B: Von; C:Bis; D:Ergebnis1; E:Ergebnis2):
_A____B____C____D_____E
AAA__100__101__50123__12345
AAA__102__103__80447__67890
AAB__100__115__90441__14879
CAA__100__120__10456__32456
Ich benötige jedoch eine chronologische Liste, also
AAA__100_______50123__12345
AAA__101_______50123__12345
AAA__102_______80447__67890
AAA__103_______80447__67890
AAB__100_______90441__14879
AAB__101_______90441__14879
usw.
Die Liste ist sehr umfangreich und aufgrund der Kombination von Buchstaben und Ziffer komme ich mit einer Abfrage per SVerweis nicht zurecht.
Gibt es evtl. eine Möglichkeit via VBA?
Gruß
Rainer

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Von-Bis-Liste in chronologische Liste auflösen
29.12.2011 15:15:21
PeterO
Hallo Rainer,
kommt die VHV mit ihrer EDV nicht mehr klar, dass man jetzt mit Excel weiterarbeiten muss? Oder sind das die Gehaltsabrechunungen von Herrn Bohlen? Spaß beiseite ;-)
Wie wäre es einfach mit Sortieren? Excel sortiert auch die Buchstaben! Erst nach Spalte A, dann nach Spalte B (jeweils aufsteigend).
Gruß Peter
mit VBA
29.12.2011 15:20:51
PeterO
auf die Schnelle:
Sub sortieren()
Columns("A:E").sort Key1:=Range("A1"), Order1:=xlAscending, Key2:=Range("B1") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal, DataOption2 _
:=xlSortNormal
End Sub
Gruß Peter
Anzeige
Von-Bis Spalte in Liste trennen
29.12.2011 15:54:45
NoNet
Hallo Rainer,
wenn ich das richtig verstanden habe, sollte folgendes Makro funktionieren (Voraussetzung : Liste beginnt mit Überschrift in A1 !!) :
Sub Von_Bis_trennen()
'Verändert die Original-Liste !
Dim lngZ As Long
For lngZ = Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1
If Cells(lngZ, 3)  "" Then
Rows(lngZ + 1).Insert shift:=xlDown 'Zeile unterhalb einfügen
Rows(lngZ).Copy Cells(lngZ + 1, 1) 'Zeile nach unten kopieren
Cells(lngZ + 1, 2) = Cells(lngZ, 3) 'Wert BIS nach VON übernehmen
Cells(lngZ, 3).Resize(2).ClearContents 'Werte BIS löschen
End If
Next
Application.CutCopyMode = False
End Sub
ACHTUNG : Es wird die Liste des AKTUELLEN Tabellenblattes bearbeitet, Vorgang kann nicht rückgängig gemacht werden !
Teste das Makro daher bitte zunächst an einer KOPIE Deines Tabellenblattes !!
Gruß, NoNet
Anzeige
AW: Von-Bis Spalte in Liste trennen
29.12.2011 16:36:29
Rainer
Hallo NoNet,
danke, fast die Lösung. Jetzt stehen die Von- und Bis-Werte untereinander, aber die Werte dazwischen fehlen.
Bsp.
100
105
Ich brauche aber
100
101
102
103
104
105
Kannst Du das Makro bitte nochmal anpassen?
Gruß
Rainer
Werte VON - BIS inkrementelle Liste
29.12.2011 17:05:25
NoNet
Hallo Rainer,
ich hatte das ursprünglich so verstanden, dass lediglich die BIS-Werte in eine neue Zeile in Spalte VON eingetragen werden sollten !
Du möchtest aber eine Liste, in der die Zeilen VON - BIS inkrementell fortgeführt werden und daher bei Bedarf x-fach kopiert werden - das macht nun das folgende Makro :
Sub Von_Bis_trennen()
'Verändert die Original-Liste !
Dim lngZ As Long, lngA As Long
For lngZ = Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1
lngA = CLng(Cells(lngZ, 3)) - CLng(Cells(lngZ, 2))
If Cells(lngZ, 3)  "" And lngA > 0 Then
Rows(lngZ + 1).Resize(lngA).Insert shift:=xlDown 'Zeile unterhalb einfügen
Rows(lngZ).Copy Cells(lngZ + 1, 1).Resize(lngA) 'Zeile nach unten kopieren
'Werte VON - BIS inkrementieren :
Cells(lngZ, 2).Resize(lngA + 1).DataSeries Type:=xlLinear
Cells(lngZ, 3).Resize(lngA + 1).ClearContents 'Werte BIS löschen
End If
Next
Application.CutCopyMode = False
End Sub
Gruß, NoNet
Anzeige
AW: Werte VON - BIS inkrementelle Liste
03.01.2012 14:18:47
Rainer
DANKE!!!
Liste reorganisieren
29.12.2011 16:43:23
Erich
Hi Rainer,
probier mal:
(Das Ergebnis wird in ein neues Blatt geschrieben.)

Option Explicit
Sub Reorg()
Dim arrQ, lngQ As Long, qq As Long, cc As Long
Dim zz As Long, nn As Long
ReDim arrZ(1 To 5, 1 To 2)
Dim arrE()
lngQ = Cells(Rows.Count, 1).End(xlUp).Row ' Anz. Quellzeilen
arrQ = Cells(1, 1).Resize(lngQ, 5)
For cc = 1 To 5                           ' 1. Zeile Überschriften
arrZ(cc, 1) = arrQ(1, cc)
Next cc
zz = 1
For qq = 2 To lngQ                        ' Schleife Zeilen
For nn = 0 To arrQ(qq, 3) - arrQ(qq, 2)   ' Schleife Vielfache
zz = zz + 1
If zz > UBound(arrZ, 2) Then _
ReDim Preserve arrZ(1 To 5, 1 To 2 * UBound(arrZ, 2))
arrZ(1, zz) = arrQ(qq, 1)
arrZ(2, zz) = arrQ(qq, 2) + nn
arrZ(4, zz) = arrQ(qq, 4)
arrZ(5, zz) = arrQ(qq, 5)
Next nn
Next qq
If zz 
Rückmeldung wäre nett! - Grüße aus Kamp-Lintfort von Erich, der auch einen guten Rutsch wünscht
Anzeige
AW: Liste reorganisieren
03.01.2012 14:23:39
Rainer
Hallo Erich,
funktioniert ebenfalls! Vielen Dank!

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige