-3

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

1 ответ1

0

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

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

Он должен быть довольно прямым, но все, что помещено в "А1", является источником для копирования, а все, что помещено в "В1", является местом назначения. Кстати вырезать вместо копирования, просто заменить.Скопируйте с.Резать вместо.

Что касается вашей логики «больше чем», просто добавьте несколько логических операторов в метод копирования / вставки, который я показал выше. Например, чтобы скопировать 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

Заметка

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

  • ThisWorkbook.Листы ("Лист1").Range ("A1")
  • Range (" 'Лист1'!A1")
  • ThisWorkbook.Листы ("Лист1").Клетки (1,1)
  • Листы ("Лист1").Клетки (1,1)
  • Листы ("Лист1").Range ("A1")

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .