Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Wenn Zelle leer dann

Wenn Zelle leer dann
Melisa
Guten Morgen,
hoffe Ihr seid alle schon fit. :)
Also ich ziehe aus 2 Datenblättern Inhalte in eine andere Datei. Nun möchte ich in mein Coding noch hineinfügen, dass falls Zelle A2 leer ist, er nicht kopieren soll. Im Moment kopiert mir das Makro komischerweise noch Zelle A1 obwohl ich ja angebe er soll erst ab Zelle A2 kopieren.
Jemand einen Tipp?
lRow = Worksheets("02_Aufgabe").UsedRange.SpecialCells(xlCellTypeLastCell).Row
Worksheets("02_Aufgabe").Range("A2:P" & lRow).copy Destination:=Workbooks("Bearbeiten.xls"). _
Worksheets("Bearbeiten_Aufgabe").Cells(lastRowB + 1, 1)
Wäre wirklich suuper, wenn mir jemand helfen könnte.
Liebe Grüße
M
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
Berecih kopieren, wenn A2 nicht leer ist
11.06.2010 10:10:57
NoNet
Hallo Melisa,
hier ein funktionierendes Beispiel :
Sub KopierenWennA2NichtLeerIst()
Dim lRow As Long, lastRowB As Long
lastRowB = 5
With Worksheets("02_Aufgabe")
If .Range("A2").Value  "" Then 'Nur kopieren, wenn A2 nicht LEER ist
lRow = .UsedRange.SpecialCells(xlCellTypeLastCell).row
.Range("A2:P" & lRow).Copy _
Destination:=Workbooks("Bearbeiten.xls"). _
Worksheets("Bearbeiten_Aufgabe").Cells(lastRowB + 1, 1)
End If
End With
End Sub
M.E. sollte auch Dein Code erst ab A2 kopieren, es sei denn, der Bereich ist leer, dann ist lRow = 1 !
Gruß, NoNet
Anzeige
AW: Berecih kopieren, wenn A2 nicht leer ist
11.06.2010 13:29:36
Melisa
Sorry, bin leider nicht eher dazu gekommen es auszuprobieren. :)
Super funktioniiiiert.... vielen vielen vielen Dank!!!!!
Mein Code, programmiert auch eigentlich ab Zelle A2, aber das sind Abzüge die ich aus einem System hole, u wenn dort keine Änderungen vorkommen stehen quasi in Zelle A1 nur die Überschriften, u komischerweise kopiert mein Code mir dann die Überschriften, wenn ab A2 nichts steht.
Eine Frage hätte ich noch, warum lRow = 5?
Grüüüßeeee
Anzeige
lastRowB muss ja irgendeinem Wert haben...
11.06.2010 13:46:46
NoNet
Hallo Melisa,
Dein Codeschnipsel war ja unvollständig, also ohne "Sub.." und "End Sub....", ohne Deklarationen und ohne Wertzuweisungen an die Variablen. Damit ich Deinen Codeschnipsel verwenden konnte, musst ich der Variablen lastRowB ja irgendeinen Wert zuweisen ;-) In Deinem Fall wird diese Variable vermutlich zuvor anderweitig befüllt....
Gruß, NoNet
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Zellen kopieren, wenn sie nicht leer sind


Schritt-für-Schritt-Anleitung

Um in Excel mit VBA zu überprüfen, ob eine Zelle leer ist, und nur dann den Wert aus einer anderen Zelle zu kopieren, kannst du folgenden Code verwenden:

Sub KopierenWennA2NichtLeerIst()
    Dim lRow As Long, lastRowB As Long
    lastRowB = 5 ' Dies ist der Startwert für die Zielzeile
    With Worksheets("02_Aufgabe")
        If .Range("A2").Value <> "" Then ' Nur kopieren, wenn A2 nicht leer ist
            lRow = .UsedRange.SpecialCells(xlCellTypeLastCell).Row
            .Range("A2:P" & lRow).Copy _
            Destination:=Workbooks("Bearbeiten.xls"). _
            Worksheets("Bearbeiten_Aufgabe").Cells(lastRowB + 1, 1)
        End If
    End With
End Sub

In diesem Beispiel wird überprüft, ob Zelle A2 leer ist. Wenn nicht, wird der Bereich von A2 bis zur letzten benutzten Zeile kopiert. Achte darauf, dass der Code in einer Excel-Umgebung mit Makrofunktionalität ausgeführt wird.


Häufige Fehler und Lösungen

  • Fehler: Überschriften werden kopiert.

    • Lösung: Stelle sicher, dass die Bedingung für die leere Zelle korrekt ist. Der Code sollte so angepasst werden, dass nur kopiert wird, wenn A2 tatsächlich Daten enthält.
  • Fehler: Der Kopiervorgang schlägt fehl.

    • Lösung: Überprüfe die Arbeitsblätter und den Dateinamen. Stelle sicher, dass die Datei "Bearbeiten.xls" geöffnet ist und das Zielarbeitsblatt existiert.

Alternative Methoden

Anstelle von VBA kannst du auch Excel-Formeln verwenden, um Werte zu überprüfen und zu kopieren. Eine Möglichkeit besteht darin, die WENN-Funktion zu nutzen:

=WENN(A2<>""; A2; "")

Mit dieser Formel kannst du in einer anderen Zelle den Wert von A2 anzeigen, wenn er nicht leer ist.


Praktische Beispiele

Hier ist ein praktisches Beispiel, wie du die obigen Konzepte anwenden kannst:

  1. Erstelle ein neues Arbeitsblatt mit zwei Spalten: "Daten" (A) und "Ergebnisse" (B).
  2. Füge einige Daten in die Spalte A ein, lasse aber einige Zellen leer.
  3. Verwende den VBA-Code, um die Daten aus Spalte A in die Zelle B zu kopieren, wobei leere Zellen ignoriert werden.

Tipps für Profis

  • Verwende die SpecialCells-Methode, um nur die sichtbaren Zellen zu kopieren und leere Zellen zu ignorieren.
  • Setze Breakpoints im VBA-Editor, um den Code Schritt für Schritt zu testen und Fehler zu identifizieren.
  • Wenn du häufig mit leeren Zellen arbeitest, erwäge die Verwendung von benutzerdefinierten Funktionen, um die Lesbarkeit und Wiederverwendbarkeit deines Codes zu verbessern.

FAQ: Häufige Fragen

1. Warum funktioniert mein Code nicht? Überprüfe, ob die Arbeitsblätter und die Dateinamen korrekt sind. Eine falsche Referenz kann dazu führen, dass der Code nicht ausgeführt wird.

2. Wie kann ich mehrere Zellen gleichzeitig überprüfen? Du kannst eine Schleife verwenden, um durch mehrere Zellen zu iterieren und die Bedingungen anzuwenden.

3. Was bedeutet lastRowB = 5? Dieser Wert gibt an, wo die Kopie beginnen soll. Er kann je nach Bedarf angepasst werden, um sicherzustellen, dass die Daten an der richtigen Stelle eingefügt werden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige