У меня есть следующий код, который успешно копирует ячейки B, E и F в ячейки B, C, D на листе 2 после того, как я сопоставляю строку в другой ячейке. Проблема в том, что он копирует ячейку, а не только значение внутри нее (мне не нужны границы, цвет и т. д.).
Еще одна проблема, с которой я столкнулся, заключается в том, что, хотя он будет копировать данные в следующую свободную строку в столбце B, он не будет искать следующую свободную строку в соответствии со столбцами C и D.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim thisrow As Long
Dim lr As Long
If Target.Column = 7 Then
thisrow = Target.Row
If Target.Value = "FAULTY" Then
lr = Sheets("sheet2").Range("B" & Rows.Count).End(xlUp).Row + 1
Range("B" & ActiveCell.Row).Copy Sheets("sheet2").Range("B" & lr)
Range("D" & ActiveCell.Row).Copy Sheets("sheet2").Range("C" & lr)
Range("F" & ActiveCell.Row).Copy Sheets("sheet2").Range("D" & lr)
End If
End If
End Sub
Range(..).Value = Range(..).Value
вместоRange(..).Copy
- person Dmitry Pavliv   schedule 24.04.2014.select
необходимо активировать, чтобы использовать специальную вставку, а выбор также известен как плохая практика программирования stackoverflow.com/questions/10714251/ - person Rich   schedule 24.04.2014but .select needs to be activated in order to use pastespecial,
, почему ты так думаешь?Range("A1").Copy
, а затемSheets("sheet2").Range("B2").PasteSpecial xlPasteValues
- person Dmitry Pavliv   schedule 24.04.2014