我试图复制和粘贴A1中单元格更改时的值范围。VBA在特殊单元格更改后复制粘贴范围
例如,如果A1中的单元格(来自公式)更改为“2016.10”,它将在A2:A14中查找相同的值,找到它并复制范围B12:E12(也来自公式)并将它们粘贴为值。或者,如果A1更改为“2016.11”,则复制粘贴B13:E13的值。
有没有办法用VBA做到这一点?
在先进的感谢。
External Data is coming from another Sheet
我试图复制和粘贴A1中单元格更改时的值范围。VBA在特殊单元格更改后复制粘贴范围
例如,如果A1中的单元格(来自公式)更改为“2016.10”,它将在A2:A14中查找相同的值,找到它并复制范围B12:E12(也来自公式)并将它们粘贴为值。或者,如果A1更改为“2016.11”,则复制粘贴B13:E13的值。
有没有办法用VBA做到这一点?
在先进的感谢。
External Data is coming from another Sheet
最后,我找到了解决这个问题的方法。下面是我用它来帮助我的代码:
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
干得好! (1) –
您正在寻找这样的事情?
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
年线是不是太清楚,但如果我理解分辩你为什么不使用这个公式为每个小区(取决于有多少条记录)要= IF($ A3 = $ A $ 1;“年公式”;“”) – Fabrizio
嗨法布里齐奥,感谢您的回复。单元格B3:E4中的公式正在计算来自外部源的数据。外部数据每周更新一次,仅显示当前日历周(A1)的值。我的目标是记录过去的日历周的价值。 – Toli