Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1424to1428
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

Zeile hinzufügen falls Datum fehlt

Zeile hinzufügen falls Datum fehlt
08.05.2015 12:24:11
Matze
Hallo Zusammen!
Ich habe ein kleines Problem, ich hoffe ihr könnt mir helfen. In Spalte A ist das Datum (mehr als 10.000 Einträge) aufgelistet, wobei diese Auflistung nicht vollständig ist. Manchmal fehlt ein Eintrag, manchmal fehlen 2 oder 3, und manchmal ist ein Datum doppelt aufgeführt. Ich bin nun auf der Suche nach einem VBA Code, welcher mir, falls ein Datumseintrag fehlt so lange eine neue Reihe einfügt und das korrekte Datum in die hinzugefügte Reihe einträgt, bis die Datumsspalte vollständig ist. Die schon vorhanden doppelten Datumseinträge müssen allerdings vorhanden bleiben.
Das ganze sieht aktuell so aus.
03-Jan-14
04-Jan-14
07-Jan-14
09-Jan-14
14-Jan-14
14-Jan-14
15-Jan-14
17-Jan-14
Vielen Dank und viele Grüße
Matze

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeile hinzufügen falls Datum fehlt
08.05.2015 13:11:19
UweD
Hallo
so ?
Sub TTT() On Error GoTo Fehler Dim i% Dim SP%, ZE&, LR& Application.ScreenUpdating = False SP = 1 'Spalte A ZE = 2 'ab Zeile wegen Überschrift With ActiveSheet LR = .Cells(Rows.Count, SP).End(xlUp).Row 'letzte Zeile der Spalte For i = LR To ZE Step -1 If .Cells(i, SP) - .Cells(i - 1, SP) > 1 Then .Cells(i, SP).Insert xlDown .Cells(i, SP) = .Cells(i + 1, SP) - 1 i = i + 1 End If Next End With '*** Fehlerbehandlung Err.Clear Fehler: If Err.Number 0 Then MsgBox "Fehler: " & Err.Number & vbLf & Err.Description: Err. _ Clear End Sub Gruß UweD

Anzeige
AW: Zeile hinzufügen falls Datum fehlt
09.05.2015 09:41:26
Matthias
Hi Uwe,
vielen Dank der Code funktioniert einwandfrei. Da ich noch ziemlich am Anfang meiner VBA Programmier Karriere stehe möchte ich fragen ob du mir kurz den Code erklären kannst. Sprich was wofür steht?
Das wäre klasse!
Vielen Dank und VG
Matthias

AW: Zeile hinzufügen falls Datum fehlt
11.05.2015 03:35:15
Matze
Hi Uwe und alle anderen,
leider habe ich herausgefunden, dass der Code bei großen Datenmengen nicht funktioniert.
Ich erhalte immer einen Laufzeitfehler, wenn ich diesen über meine gesamte Datumsspalte mit mehr als 10.000 Einträgen laufen lasse.
Der Mechanismus mit dem Einfügen von Zeilen muss allerdings bestehen bleiben, da zu jedem Datum in einer Zeile mehrere Werte dahinter stehen, welche bei einem eingefügten Datum natürlich nicht existieren.
Bitte bedenkt, dass manche Datum mehrfach auftreten können.
Das ganze soll letztendlich so aussehen.
Datum WertA ...
03-Jan-14 1r
04-Jan-14 2w
07-Jan-14 3df
09-Jan-14 4sc
14-Jan-14 5st
14-Jan-14 6zx
15-Jan-14 7f
17-Jan-14 8e
.
.
.
wird zu
Datum WertA ...
03-Jan-14 1r
04-Jan-14 2w
05-Jan-14
06-Jan-14
07-Jan-14 3df
08-Jan-14
09-Jan-14 4sc
10-Jan-14
11-Jan-14
12-Jan-14
13-Jan-14
14-Jan-14 5st
14-Jan-14 6zx
15-Jan-14 7f
16-Jan-14
17-Jan-14 8e
.
.
.
Vielen Dank und viele Grüße
Matthias

Anzeige
Deklariere mal mit Long ...
12.05.2015 00:06:54
Matthias
Hallo
Dim i&, SP&, ZE&, LR&
Ich hab das auch mit Daten über 10.000 Zeilen getestet
Dauert zwar ein Weilchen, aber geht.
https://www.herber.de/bbs/user/97586.xlsm
Wobei man auch Konstanten benutzen könnte
Dim i&, LR&
Application.ScreenUpdating = False
Const SP = 1 'Spalte A
Const ZE = 2 'ab Zeile wegen Überschrift
'...usw.
Gruß Matthias

Zeile hinzufügen falls Datum fehlt
12.05.2015 08:53:58
Matthias
Hallo
Hab gerade nochmal drübergeschaut.
Zitat
Der Mechanismus mit dem Einfügen von Zeilen muss allerdings bestehen bleiben, da zu jedem Datum in einer Zeile mehrere Werte dahinter stehen, welche bei einem eingefügten Datum natürlich nicht existieren.
Das hattest Du so in der Ausgangsfrage nicht erläutert.
Du wolltest nur Spalte("A") ergänzen. Daraufhin hat Uwe den Code geschrieben.
Wie ich das jetzt lese stellt es sich anders dar.
Ich vermute mal die Werte der Nachbarspalte, also der Wert zum Datum in Spalte(A)
soll dabei richtig zugewiesen bleiben. Richtig?
Bsp.
vorher:
 AB
1Datum16.05.2015
2  
316.05.201516
417.05.201517
518.05.201518
618.05.201518
720.05.201520
821.05.201521
921.05.201521
1023.05.201523
1126.05.201526


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4


soll vermutlich nachher so aussehen:
 AB
1Datum16.05.2015
2  
316.05.201516
417.05.201517
518.05.201518
618.05.201518
719.05.2015 
820.05.201520
921.05.201521
1021.05.201521
1122.05.2015 
1223.05.201523
1324.05.2015 
1425.05.2015 
1526.05.201526


Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4
Hab ich das richtig verstanden?
Ich vemute also das Du komplette Zeilen einfügen willst
und nicht nur das fehlende Datum in Spalte einfügen willst.
Hier mal im Code ergänzt.
https://www.herber.de/bbs/user/97590.xlsm
Gruß Matthias

Anzeige
AW: Zeile hinzufügen falls Datum fehlt
13.05.2015 03:24:22
Matze
Hi Matthias,
wow, vielen Dank für den Code, jetzt hat es wirklich funktioniert. Witzigerweise ging es mit Uwes erstem Code auch bei einer kleinen Anzahl von Daten. Sprich die Zeile wurde komplett eingefügt und die Werte in den dahinterliegenden Spalten sind mit nach unten gerutscht. Bei einer großen Anzahl an Daten ging es allerdings nicht mehr.
Wie dem auch sei, jetzt bin ich glücklich, vielen Dank nochmal an alle!
Viele Grüße
Matthias

AW: Zeile hinzufügen falls Datum fehlt
13.05.2015 09:05:24
UweD
Hallo nochmal
nur noch zur Erklärung:
Dim i%
Die Variable i wurde von mir als Integer dimensioniert. Damit kann der Wert max 32.767 annehmen.
Das war bei der Datenmenge zu wenig
Mit Dim i& (also als Long) wären es 2.147.483.647
Das reicht dann.
Gruß UweD
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige