Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1380to1384
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

Benötige VBA-Hilfe für eine automatische Leerzeile

Benötige VBA-Hilfe für eine automatische Leerzeile
11.09.2014 22:21:40
bruchpilot1982
Hallo zusammen!
Ich bräuchte eure professionelle Hilfe bzgl. einer Excel-Tabelle. Bin da gerade ein bisschen am Basteln und leider VBA-technisch noch sehr unerfahren!
Kurze Erklärung zu meiner Idee, von der ich hoffe, dass sie irgendwie realisierbar ist.
Ich kopiere jede Woche eine Statistik in eine Excel-Tabelle (einfaches markieren und kopieren der entsprechenden Daten aus einer Website). Die Kopie wird jedesmal via eines gebastelten Einfügen-Button in die Spalten A-C eingefügt, die bereits bestehenden Daten rutschen dann jeweils um 3 Spalten nach rechts. Soweit, sogut.
Nur sind leider (bedingt durch die Website) zwischen den Zeilen manchmal eine Leerzeile, manchmal zwei Leerzeilen, manchmal keine. Das variiert blöderweise auch, sodass ich das nicht mit einer einfachen Makro lösen kann (wie gesagt, liegt an der Website).
Ich würde mir gerne einen Button basteln bzw. den entsprechenden VBA-Code am Schluss meines Einfügen-Buttons mit anhefen, so dass diese Leerzeilen elimiert werden und das ganze wieder einheitlich aussieht und ich nicht jedesmal die einzelnen Leerzeilen manuell löschen muss.
Also der Gedanke ist quasi:
Die erste Zeile soll grundsätzlich leer bleiben bzw. nicht beachtet werden.
Nach dem Einfügen der Daten soll überprüft werden, ob in "Zeile 2" die Spalten A-C (es würde auch die Überprüfung einer Spalte, also A, B ODER C reichen) leer sind bzw. leer ist. Ist das der Fall, soll in der Spalte A-C die Zeile 2 gelöscht und alles darunter befindliche nach oben verschoben werden (also sowas wie "Selection.Delete Shift:=xlUp").
Ist das jedoch nicht der Fall und es steht was in der genannten Sektion, dann soll die selbe Kontrolle mit der Zeile 3 gemacht werden ... usw,usw,usw...
Dabei soll wie geschrieben die erste Zeile grundsätzlich immer leer bleiben und die Prüfung bis zur Zeile 100 durchgeführt werden.
Ein kleines Beispiel von meiner Excel-Tabelle hänge ich an. In dieser ist es in den verschiedenen Blättern denke ich ganz gut dargestellt. Meine originale Tabelle ist natürlich etwas komplexer bzw. umfangreicher, das Prinzip bleibt aber in etwa das gleiche.
https://www.herber.de/bbs/user/92586.xlsx
Ich hoffe, ich konnte mich einigermaßen gut ausdrücken und verständlich machen, was ich gerne haben wollen würde.
Viele Grüße
der Jojo

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

Betreff
Datum
Anwender
Anzeige
AW: Benötige VBA-Hilfe für eine automatische Leerzeile
12.09.2014 09:31:37
Jack_d
Hallo Jojo
meinst du so in etwa?
Sub Makro1()
With Worksheets("nach dem einfügen")
For i = .Cells(Rows.Count, 1).End(xlUp).Row To 2 Step -1
If .Cells(i, 1) = "" Then
.Range(.Cells(i, 1), .Cells(i, 3)).Delete Shift:=xlUp
End If
Next i
End With
End Sub
Grüße

AW: Benötige VBA-Hilfe für eine automatische Leerzeile
14.09.2014 06:56:51
bruchpilot1982
Danke, hab die einfachste Lösung mittlerweile erhalten, welche ich sogar mit einem Makro hätte erstellen können!
    Range("A2:C100").Select
Selection.SpecialCells(xlCellTypeBlanks).Select
Selection.Delete Shift:=xlUp

Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige