Das Clever-Excel-Forum.de - Treffen
... 14.-16. September 2018 im Allgäu ...

prüfe ob Zelle leer dann einfügen
#1
Hallo c-e-f Gemeinde,

ich hab folgendes Problem, habe auch lange im Netz gesucht, leider nichts passendes zu meinem Problem gefunden.

Ich möchte das via VBA geprüft wird, ob die Zelle "B5" in der Tabelle "Früh" leer ist, dann füge mir die selektierten Zellen aus der Tabelle "Eingabe" ein, wenn nicht soll in der Zelle "B6" geprüft werden ob die Zelle leer ist usw. Ich habe durch die Makro-Aufzeichnung folgendes bekommen.

Sub PruefeObZelleLeer()

Sheets("Eingabe").Select
Range("A6,C6,D6,E6,F6,J6,K6").Select
Selection.Copy
Sheets("Früh").Select
Range("B5").Select
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub

Leider weiß ich nicht wie ich das mit der Prüfung machen soll. Ich hoffe ihr kommt mir dabei weiterhelfen...


Danke

Gruß claudia
to top
#2
Hallo Claudia,

vielleicht so:

Code:
Sub aaa()
  With Worksheets("Früh")
    Worksheets("Eingabe").Range("A6,C6,D6,E6,F6,J6,K6").Copy .Range(.Cells(6, 2), .Cells(Rows.Count, 2)).SpecialCells(xlCellTypeBlanks).Cells(1)
  End With
End Sub

Gruß Uwe
to top
#3
@Kuwer

wenn ich dein Code ausführe kommt eine Fehlermeldung das keine Zellen gefunden wurden.
to top
#4
Hallo Claudia,

willst Du vielleicht die erste leere Zelle in Spalte B ermitteln?

Gruß
Max
to top
#5
Hallo Max,

Zitat:willst Du vielleicht die erste leere Zelle in Spalte B ermitteln?

Ja, das will sie, halt ab Zelle B5.
Offensichtlich gibt es da keine wirklich leeren Zellen.

Gruß Uwe
to top
#6
Hallo Uwe,

ich hab das auch mal getestet.
Wenn unterhalb der Zelle B5 alle Zellen Leer sind, dann tritt der Fehler auf.
Gruß Atilla
to top
#7
Hallöchen,

ist ja putzig. Die Erklärung wäre, dass das nur auf den benutzten Bereich wirkt. Dabei ist unerheblich, ob dieser durch einen Eintrag in Spalte B begrenzt wird oder Spalte B nach Zeile 5 leer ist. Schreibt mal in eine andere Spalte weiter unten was rein, dann füllt das Makro bis dahin und dann kommt der Fehler wieder.
   \\\|///      Hoffe, geholfen zu haben.
   ( ô ô )      Grüße, André aus G in T  
 ooO-(_)-Ooo    (Excel 97-2016)
to top
#8
Hi André,

SpecialCells bezieht sich definitiv auf den UsedRange der Tabelle. Das ist (leider) so! Sad

Gruß Uwe
to top
#9
Hallo Zusammen,

so geht es aber garantiert in die erste leere Zeile von unten gesehen:

Code:
Sub aab()
  Worksheets("Eingabe").Range("A6,C6,D6,E6,F6,J6,K6").Copy Worksheets("Früh").Cells(Rows.Count, 2).End(xlUp).Offset(1)
End Sub

Gruß Uwe
to top
#10
Hallo,

und so geht es garantiert erst ab Zeile 5 los:

Code:
Sub ErsteFreieVonUnten()
  With Worksheets("Früh")
    Worksheets("Eingabe").Range("A6,C6,D6,E6,F6,J6,K6").Copy .Cells(Application.Max(5, .Cells(Rows.Count, 2).End(xlUp).Row), 2)
  End With
End Sub

Aber offensichtlich interessiert Claudia das Thema gar nicht mehr.

Gruß Uwe
to top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste