Excel-VBA-Code zum Ausschneiden aus einer Zelle und Einfügen in eine andere

Excel-VBA-Code zum Ausschneiden aus einer Zelle und Einfügen in eine andere

Ich versuche, mit VBA einen Code in Excel einzurichten, um Zellen, die größer als „0“ sind, aus Spalte „H“ zu kopieren und den Inhalt in die Zelle in Spalte „G“ einzufügen. Wenn beispielsweise „H2“ größer als „0“ ist, dann ausschneiden und in „G2“ einfügen und so weiter. Ich kann anscheinend nichts finden, was funktioniert. Für jede Hilfe wäre ich sehr dankbar.

Antwort1

Um Ihnen etwas weiterzuhelfen, sehen Sie sich Folgendes an, um das Kopieren und Einfügen mit VBA zu ermöglichen:

Sub Copy_paste()
    ThisWorkbook.Sheets("Sheet1").Range("A1").Copy
    ThisWorkbook.Sheets("Sheet1").Range("B1").Select
    ThisWorkbook.Sheets("Sheet1").Paste
End Sub

Es sollte ziemlich unkompliziert sein, aber was auch immer in "A1" steht, ist die Quelle, von der kopiert wird, und was auch immer in "B1" steht, ist das Ziel. ÜbrigensschneidenanstattKopieren, ersetzen Sie einfach .Copy durch .Cut.

Was Ihre Logik von „größer als“ und dergleichen betrifft, fügen Sie einfach einige logische Operatoren um die oben gezeigte Kopier-/Einfügemethode hinzu. Um beispielsweise A1 nach B1 zu kopieren, wenn A1 größer als 2 ist:

Sub Copy_paste()
    If ThisWorkbook.Sheets("Sheet1").Range("A1") > 2 Then
        ThisWorkbook.Sheets("Sheet1").Range("A1").Copy
        ThisWorkbook.Sheets("Sheet1").Range("B1").Select
        ThisWorkbook.Sheets("Sheet1").Paste
    End If
End Sub

Notiz

Beachten Sie auch, dass Sie auf viele verschiedene Arten auf eine Zelle verweisen können. Die folgenden sind alle synonym, wenn alles innerhalb derselben Arbeitsmappe geschieht:

  • DiesesArbeitsbuch.Tabellen("Tabelle1").Bereich("A1")
  • Bereich("'Tabelle1'!A1")
  • DiesesArbeitsbuch.Tabellenblätter("Tabelle1").Zellen(1,1)
  • Blätter("Blatt1").Zellen(1,1)
  • Blätter("Blatt1").Bereich("A1")

verwandte Informationen