#excel #vba
#excel #vba
Вопрос:
Я хочу скопировать ячейку с одного листа и вставить значение в первую пустую ячейку в диапазоне ячеек на другом листе.
Я нашел некоторый код, который почти работает, но он вставляет форматирование и формулу.
Sub dural()
Dim r1 As Range, r2 As Range
Set r1 = Sheets("GHIN").Range("D151")
Set r2 = Sheets("Monthly").Range("I56").End(xlUp).Offset(1, 0)
r1.Copy r2
End Sub
Это работает, за исключением того, что я хочу, чтобы он вставлял только специальные значения.
Комментарии:
1. измените
r1.Copy r2
наr2 = r1
2. Спасибо! Это сработало отлично!
Ответ №1:
Sheets("Monthly").Range("I56").End(xlUp).Offset(1, 0) = Sheets("GHIN").Range("D151").Value
Комментарии:
1. добавьте контекст. (Из обзора).
Ответ №2:
Попробуйте следующий код.
Sub dural()
Dim r1 As Range, r2 As Range
Set r1 = Sheets("GHIN").Range("D151")
Set r2 = Sheets("Monthly").Range("I56").End(xlUp).Offset(1, 0)
'//Copy r1 (cell format, value...)
r1.Copy
'//Paste special in the desired cell. You can add/change parameters if you want
r2.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End Sub