Excel VBA搜索工作表名称并将范围复制到活动工作表

时间:2015-04-06 14:04:06

标签: excel vba excel-vba

有人可以帮我解决这个VBA代码吗?我不知道如何在不知道名字的情况下搜索和选择工作表。

我想:

1)在我的活动工作表中,搜索范围内的单元格值(“H6:AW6”)和;

2)如果单元格值与另一个工作表名称匹配,请从该工作表复制范围(“C7:C177”)并将其粘贴到该单元格下方。

例如,如果活动工作表的单元格值H6是“Salary”并且我们有一个名为“Salary”的工作表,我希望VBA复制工作表“Salary”的范围(“C7:C177”)和粘贴到活动工作表的范围(“H7:H177”)。

2 个答案:

答案 0 :(得分:0)

这应该对你有用,

Sub Button1_Click()
    Dim ws As Worksheet, sh As Worksheet
    Dim Rng As Range, c As Range

    Set ws = Sheets("Sheet1")
    Set Rng = ws.Range("H6:AW6")

    For Each sh In Sheets
        For Each c In Rng.Cells
            If sh.Name = c Then
                sh.Range("C7:C177").Copy Destination:=ws.Cells(7, c.Column)
            End If
        Next c
    Next sh


End Sub

答案 1 :(得分:0)

Sub test() 
    Dim tmpCell As Range 

    For Each tmpCell In ActiveSheet.Range("H6:AW6") 
        On Error Resume Next 
        tmpCell.Offset(1).Resize(171).Value = _ 
            ActiveWorkbook.Worksheets(tmpCell.Value).Range("C7:C177").Value 
        On Error GoTo 0 
    Next tmpCell 
End Sub