Alle leeren Zeilen einer Spalte mit Daten füllen
Hallo Leute,
ich habe ein Problem mit leeren Zellen einer Spalte
Ich benötige ein Makro, dass die Spalte I nach allen leeren Zellen durchsucht und nur bei den leeren Zellen den Inhalt aus der entsprechenden Zeile der Spalte E kopiert.
Ist Zelle I1 leer dann kopiere Inhalt aus E1 in I1
Ist Zelle I2 leer dann kopiere Inhalt aus E2 in I2 usw.
bis Zelle I gefüllt ist.
Tabelle
Vielen Dank im Voraus
ich habe ein Problem mit leeren Zellen einer Spalte
Ich benötige ein Makro, dass die Spalte I nach allen leeren Zellen durchsucht und nur bei den leeren Zellen den Inhalt aus der entsprechenden Zeile der Spalte E kopiert.
Ist Zelle I1 leer dann kopiere Inhalt aus E1 in I1
Ist Zelle I2 leer dann kopiere Inhalt aus E2 in I2 usw.
bis Zelle I gefüllt ist.
Tabelle
Vielen Dank im Voraus
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 157602
Url: https://administrator.de/contentid/157602
Ausgedruckt am: 23.11.2024 um 02:11 Uhr
9 Kommentare
Neuester Kommentar
Hallo matester,
für den Fall das es dir nur um die Lösung des Problems geht brauchst du nicht unbedingt ein Makro dafür.
Sortiere deine Tabelle nach der Spalte I, markiere die Spaltenwerte aus E wo Spaltenwert von I leer ist und kopiere sie in I.
Sollte dich nur einige Sekunden bis Minuten kosten.
Dafür würde ich kein Makro nehmen.
grüße vom it-frosch
für den Fall das es dir nur um die Lösung des Problems geht brauchst du nicht unbedingt ein Makro dafür.
Sortiere deine Tabelle nach der Spalte I, markiere die Spaltenwerte aus E wo Spaltenwert von I leer ist und kopiere sie in I.
Sollte dich nur einige Sekunden bis Minuten kosten.
Dafür würde ich kein Makro nehmen.
grüße vom it-frosch
Hallo matester,
nur mal als Ansatz. Ist weder schön noch geprüft und vieles geht auch eleganter.
[Edit Biber] Codeformatierung [/Edit]
nur mal als Ansatz. Ist weder schön noch geprüft und vieles geht auch eleganter.
Sub werte_eintragen()
' Variablen
'az= aktuelle_Zeile;
'z = Zeilenanzahl;
's1= Spaltennr_1; Spalte E
's2= Spaltennr_2; Spalte I
Dim az,z,s1,s2 As Integer
set az=Zeilenanzahl
set s1=5
set s2=9
For az = 1 To z Step 1
If Worksheets("Name").Cells(az, s2) = "" then Worksheets("Name").Cells(az, s2)= Worksheets("Name").Cells(az, s1)
Next az
End Sub
[Edit Biber] Codeformatierung [/Edit]
Hallo matester!
In etwa so:
Gruß Dieter
In etwa so:
Const StartZeile = 3 'Ab Zeile ?
Sub CellsCopy()
Dim r As Long
With Sheets("Tabelle1")
For r = StartZeile To .Cells(.Rows.Count, "E").End(xlUp).Row
If IsEmpty(.Cells(r, "I")) Then .Cells(r, "E").Copy .Cells(r, "I")
Next
End With
End Sub
Gruß Dieter
Hallo matester,
du wirst nicht umhin kommen, dich mit Macroprogrammierung zu beschäftigen.
Lass das Macro im Visual-Basic Editor (Menü Optionen - Macro - Visual Basic Editor) ablaufen und prüfe im Einzelschrittmodus bis wohin es funktioniert bzw. was das Macro macht.
Einige Ideen wären:
- Tabellenname angepasst ?
- hat die Spalte E vielleicht in Zeile 1 einen leeren Datensatz ?
grüße vom it-frosch
du wirst nicht umhin kommen, dich mit Macroprogrammierung zu beschäftigen.
Lass das Macro im Visual-Basic Editor (Menü Optionen - Macro - Visual Basic Editor) ablaufen und prüfe im Einzelschrittmodus bis wohin es funktioniert bzw. was das Macro macht.
Einige Ideen wären:
- Tabellenname angepasst ?
- hat die Spalte E vielleicht in Zeile 1 einen leeren Datensatz ?
grüße vom it-frosch
Hallo matester, Hallo it-frosch!
Gruß Dieter
Zitat von @it-frosch:
Lass das Macro im Visual-Basic Editor (Menü Optionen - Macro - Visual Basic Editor) ablaufen und prüfe im
Einzelschrittmodus bis wohin es funktioniert bzw. was das Macro macht.
Das ist eine Gute IdeeLass das Macro im Visual-Basic Editor (Menü Optionen - Macro - Visual Basic Editor) ablaufen und prüfe im
Einzelschrittmodus bis wohin es funktioniert bzw. was das Macro macht.
Einige Ideen wären:
- Tabellenname angepasst ?
Auch meine Vermutung?- Tabellenname angepasst ?
- hat die Spalte E vielleicht in Zeile 1 einen leeren Datensatz ?
Das macht nichts, da die Zeilen von der Startzeile bis zur letzten Zeile mit Inhalt, in jedem Fall durchlaufen werden.Gruß Dieter
Hallo matester!
Schau Dir die CSV-Datei mal in einem Text-Editor an.
Gruß Dieter
Zitat von @matester:
Danke für den Hinweis mit den leeren Datensätzen!!!
Die Grundtabelle ist eine CSV-Datei und die leeren Zellen scheinen nicht leer zu sein.
Nachdem ich den Inhalt der Zellen gelöscht habe, funktionierte das Makro super.
Kann mir nicht erklären wie der Fehler zustande kommt.
Mhm, wahrscheinlich Leerzeichen... o.ä.? Danke für den Hinweis mit den leeren Datensätzen!!!
Die Grundtabelle ist eine CSV-Datei und die leeren Zellen scheinen nicht leer zu sein.
Nachdem ich den Inhalt der Zellen gelöscht habe, funktionierte das Makro super.
Kann mir nicht erklären wie der Fehler zustande kommt.
Schau Dir die CSV-Datei mal in einem Text-Editor an.
Gruß Dieter