每当A1中的单元格发生变化时,我都试图复制和粘贴范围的值。
例如,如果A1中的单元格(来自公式)更改为"2016.10",它将查找A2:A14中的相同值,找到它并复制范围B12:E12 (也来自公式)并将其粘贴为值。或者,如果A1更改为"2016.11",则复制粘贴B13:E13的值。
有办法用VBA做这个吗?
发布于 2016-08-22 05:29:02
最后,我找到了解决这个问题的方法。下面是我用来帮助我的代码:
Sub PasteValues()
Dim RowData As Long, i As Long
Set Data = Range("A2:A108")
RowData = Data.Rows.Count
For i = 1 To RowData
If Data(i, 1) = Cells(1, 1) Then
Range(Cells(i + 1, 2), Cells(i + 1, 16)).Copy
Range(Cells(i + 1, 2), Cells(i + 1, 16)).PasteSpecial xlPasteValues,
Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End If
Next i
Application.CutCopyMode = False
End Sub
发布于 2016-08-18 01:58:55
你看起来像这样吗?
Sub SelectiveCopyPaste()
Dim WB As Workbook, Data1 As Range, Data2 As Range, RowData As Long, i As Long, FilePath As String
FilePath = "C:\Program Files\Microsoft Office\Office\RS.xlsb" 'Add your own file path
Set WB = Workbooks.Add(FilePath)
Set Data1 = Range("A2:A14") 'Change this accordingly
'Change this accordingly
Set Data2 = WB.Worksheets("RS_Summary").Range("Set the range you want to copy here")
RowData = Data1.Rows.Count
For i = 1 To RowData
If Data(i, 1) = Cells(1, 1) Then
Data2(i, 1).Copy Data1(i, 2) 'Change this too
Exit For
End If
Next
End Sub
https://stackoverflow.com/questions/39014846
复制