首页 文章

特殊单元格更改后,VBA复制粘贴范围

提问于
浏览
1

我试图在A1中的单元格发生变化时复制并粘贴范围的值 .

例如,如果A1中的单元格(来自公式)更改为“2016.10”,它会在A2:A14中查找相同的值,找到并复制范围B12:E12(也来自公式)并粘贴它们作为 Value 观 . 或者,如果A1更改为“2016.11”,则复制粘贴B13:E13的值 .

有没有办法用VBA做到这一点?

Please_see_the_Photo

提前致谢 .

External Data is coming from another Sheet

2 回答

  • 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
    
  • 1

    最后,我找到了解决这个问题的方法 . 这是我用来帮助我的代码:

    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
    

相关问题