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

Zellen in einen Bereich schreiben

Zellen in einen Bereich schreiben
27.06.2014 10:45:44
Frank
Hallo liebe Experten,
wie kann man einen Bereich, bei mir A13:A38 mit Daten füllen, so dass es geprüft wird, ob die oberste Zelle nicht leer ist? Wenn diese nicht leer ist, soll die nächste zeile genommen werden, wenn die nächste nicht leer ist, soll die nächste Zeile genommen werden usw.
habe folgendes geschrieben, aber dabei wird der ganze Bereich mit gleichen Daten gefüllt, also mit der selben:
b=13
For Each d In WsZiel.Range("A13:A38")
If d "" Then
b = b + 1
WsZiel.Cells(b, 2) = wksZ.Cells(a, 1)
WsZiel.Cells(b, 3) = wksZ.Cells(a, 2)
Else
WsZiel.Cells(b, 2) = wksZ.Cells(a, 1)
WsZiel.Cells(b, 3) = wksZ.Cells(a, 2)
End If
Next

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen in einen Bereich schreiben
27.06.2014 10:57:18
Rudi
Hallo,
with wksZiel
if .Range("A13")="" then
b=13
else
b=.cells(.rows.count,1).end(xlup).offset(1).row
end if
.Cells(b, 2) = wksZ.Cells(a, 1)
.Cells(b, 3) = wksZ.Cells(a, 2)
end with

Gruß
Rudi

AW: Zellen in einen Bereich schreiben
27.06.2014 11:09:39
Frank
Danke Rudi, aber leider kommt eine Fehlermeldung: Laufzeitfehler '424': Objekt erforderlich
und diese Zeile wird beim Debuggen gelb hervorgehoben: If .Range("A13") = "" Then

AW: Zellen in einen Bereich schreiben
27.06.2014 11:21:26
Frank
Ich habe den Fehler gefunden, richtig ist wsZiel nicht wksZiel.
Jetzt läuft es ohne Fehler, aber es werden keine Daten geschrieben, das hängt aber wahrscheinlich daran, dass ich mich im ersten beitrag vertan habe:
Der Bereich heißt B13:B38 und nicht A. Was muss ich noch dazu ändern:

With WsZiel
If .Range("B13") = "" Then
b = 13
.Cells(b, 2) = wksZ.Cells(a, 1)
.Cells(b, 3) = wksZ.Cells(a, 2)
Else
b = .Cells(.Rows.Count, 1).End(xlUp).Offset(1).Row
.Cells(b, 2) = wksZ.Cells(a, 1)
.Cells(b, 3) = wksZ.Cells(a, 2)
End If
End With

Anzeige
AW: Zellen in einen Bereich schreiben
27.06.2014 12:07:39
Frank
Hallo Rudi,
Es funktioniert so nicht, leider:(
Es wird ja auch nur geprüft, ob die oberste Zeile nicht leer ist (B13)? Was ist aber wenn B14 nicht leer ist? Dann geht der code davon aus, dass die Bedingung erfüllt ist und überschreibt B14.
Könntest du mir da helfen?

AW: Zellen in einen Bereich schreiben
27.06.2014 12:24:49
Frank
Also das ist jetzt ziemlich seltsam, habe ein neues Zielblatt genommen( die gleiche Datei nochmal, aber im Anfangszustand) und jetzt läuft's:)

With WsZiel
If .Range("B13") = "" Then
b = 13
.Cells(b, 2) = wksZ.Cells(a, 1)
.Cells(b, 3) = wksZ.Cells(a, 2)
.Cells(b, 4) = wksZ.Cells(a, 3)
Else
b = .Cells(.Rows.Count, 2).End(xlUp).Offset(1).Row
.Cells(b, 2) = wksZ.Cells(a, 1)
.Cells(b, 3) = wksZ.Cells(a, 2)
.Cells(b, 4) = wksZ.Cells(a, 3)
End If
End With
Zum "with" hätte ich eine Frage, nimmt man es nur wenn es immer um das gleiche handelt, z.b. das gleiche Blatt (hier: WsZiel) oder kann man da auch zwischen mehreren kombinieren?

Anzeige
AW: Zellen in einen Bereich schreiben
27.06.2014 12:27:29
Rudi
Hallo,
schreibt in die erste leere Zelle in B13:B38:
For Each d In WsZiel.Range("B13:B38")
If d = "" Then
d = wksZ.Cells(a, 1)
d.Offset(, 1) = wksZ.Cells(a, 2)
Exit For
End If
Next

Gruß
Rudi

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige