Я пытаюсь настроить код в 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
Он должен быть довольно прямым, но все, что помещено в "А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")