有人可以帮我解决这个VBA代码吗?我不知道如何在不知道名字的情况下搜索和选择工作表。
我想:
1)在我的活动工作表中,搜索范围内的单元格值(“H6:AW6”)和;
2)如果单元格值与另一个工作表名称匹配,请从该工作表复制范围(“C7:C177”)并将其粘贴到该单元格下方。
例如,如果活动工作表的单元格值H6是“Salary”并且我们有一个名为“Salary”的工作表,我希望VBA复制工作表“Salary”的范围(“C7:C177”)和粘贴到活动工作表的范围(“H7:H177”)。
答案 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