#excel #vba
Вопрос:
Я настоящий новичок в VBA и медленно учусь. Я ломал голову над чем-то, что кажется таким простым, но, похоже, не могу этого понять, поскольку я пробовал разные способы поиска в Google.
Я хотел бы создать макрос, который принимает диапазон ячеек и копирует его в другой диапазон ячеек, если значение другого столбца больше нуля.
Код, который я использовал, это:
Sub Carry() If Range("E6:E14").Value gt; 0 Then Range("F6:F14").Copy Range("G6:G14").PasteSpecial Paste:=xlPasteValues End If End Sub
Изображение колонн
Представьте себе, что я имею в виду.
Комментарии:
1. Попробуйте это:
Sub Carry(): With Range("G6:G14"): .Formula = "=IF(E6gt;0,F6,"""")": .Value = .Value: End With: End Sub
.2. Большое вам спасибо!! Это прекрасно работает!
3. Вы же знаете, что для ввода формулы в ячейки не требуется VBA… просто введите приведенную выше формулу =IF(E6gt;0, F6, «») в G6 и перетащите вниз…