从Sheet1中的Sheet2查找文本(C21),然后将Sheet2中的固定范围复制到Sheet1中找到文本的下一个单元格中

时间:2017-09-20 13:35:36

标签: excel vba excel-vba

我正在学习宏,我是新手,所以非常感谢你的帮助:)

我正在尝试创建一个宏:

  1. 读取Sheet2(单元格C21)
  2. 中一个单元格中的文本
  3. 在工作表1(C列)
  4. 中查找
  5. 复制Sheet2中的固定范围(D26:P26)
  6. 粘贴来自工作表1中找到文本的下一个单元格的信息(例如,如果在#2中,文本在单元格C23中找到...复制的信息从D23开始粘贴)
  7. 刷新Sheet2中的数据透视表
  8. 刷新Sheet2上的图表
  9. 表1 = TRY数据

    表2 = TRY图

    这是我到目前为止发现的宏...发现文本,现在它的位置但不粘贴信息(并且没有如何更新图形)。再次非常感谢你! :)

    Sub Save2()
    
        Dim strSearch As String
    
        strSearch = Worksheets("TRY graph").Range("C21").Value & " C-2018"
    
        Dim rng1 As Range
    
        Set rng1 = Worksheets("TRY Data").Range("C:C").Find(strSearch, >lookat:=xlPart)
    
        If Not rng1 Is Nothing Then
    
           Worksheets("TRY graph").Range("D26:P26").Copy
    
           Worksheets("TRY Data").ActiveCell.Offset(0, 1).PasteSpecial >xlPasteValues
        Else
    
           MsgBox strSearch & " not found"
        End If
    
        Dim pivotTable As pivotTable
    
        pivotTable.RefreshTable
    
    End Sub
    

1 个答案:

答案 0 :(得分:0)

请尝试:(我在代码注释中添加代码.. workbook_pivot_exists是您的支点所在的工作簿)

 Option Explicit

Sub Save2()
    Dim strSearch As String

    strSearch = Worksheets("TRY graph").Range("C21").Value & " C-2018"

    Dim rng1 As Range

    Dim adrs As String

    Set rng1 = Worksheets("TRY Data").Range("C:C").Find(strSearch, lookat:=xlPart)



    If Not rng1 Is Nothing Then

    adrs = rng1.Address

    Sheets("TRY graph").Range("D26:P26").Copy


    With Sheets("TRY Data")



     .Range(adrs).Offset(0, 1).PasteSpecial Paste:=xlPasteValues


    End With

    Else

        MsgBox strSearch & " not found"

    End If

Dim pivotTable As pivotTable

'to refresh your pivot try:
'Set pivotTable = whorkbook_pivot_exists.PivotTables("myPivot")


'pivotTable.RefreshTable

End Sub