Код Excel VBA для вырезания из одной ячейки и вставки в другую

Код Excel VBA для вырезания из одной ячейки и вставки в другую

Я пытаюсь настроить код в Excel с помощью VBA для копирования ячеек больше "0" из столбца "H" и вставки содержимого в ячейку в столбце "G". Например, если "H2" больше "0", то вырезать и вставить в "G2" и так далее. Кажется, я не могу найти ничего, что сработает. Любая помощь будет очень кстати.

решение1

Чтобы вам было легче, о том, как копировать и вставлять с помощью VBA, посмотрите на следующее:

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

Это должно быть довольно просто, но все, что помещено в «A1», является источником для копирования, а все, что помещено в «B1», является местом назначения. Кстати,резатьвместокопия, просто замените .Copy на .Cut.

Что касается вашей логики "больше чем" и т. п., просто добавьте несколько логических операторов вокруг метода копирования/вставки, который я показал выше. Например, чтобы скопировать A1 в B1, если A1 больше 2:

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

Примечание

Также обратите внимание, что вы можете ссылаться на ячейку многими разными способами. Следующие являются синонимами, если все происходит в одной и той же рабочей книге:

  • ЭтаКнига.Листы("Лист1").Диапазон("A1")
  • Диапазон("'Лист1'!A1")
  • ЭтаКнига.Листы("Лист1").Ячейки(1,1)
  • Листы("Лист1").Ячейки(1,1)
  • Листы("Лист1").Диапазон("A1")

Связанный контент