[英]Excel VBA- Trying to copy values to summary sheet based on a value
在我的文件中,我有一个工作表名称列表,与摘要页面中A列中的值相对应。 我想从每个工作表中提取单元格B6中的值,并将其粘贴到摘要表中该客户端的相应行中。 我一直试图根据A列中的值来查找要复制和粘贴的内容,方法是从使用A列文本值命名的工作表中复制,但我得到的是“下标超出范围” “工作表中的错误(a).Range(”B6“)。复制问题。 代码如下:
Sub columnfiller()
Dim i As Integer
Dim a As String
a = Worksheets(2).Cells(7 + i, "A").Text
For i = 3 To Worksheets.Count
Worksheets(a).Range("B6").Copy
ActiveSheet.Paste Destination:=Worksheets(2).Cells(7 + i)
Next i
End Sub
7 + i是表中第一个单元格的引用。
未经测试 。 我想这就是你想要的。 我没有循环工作表,而是放下了你的专栏A.
Sub columnfiller()
Dim lastRow As Long
Dim summaryWs As Worksheet
Dim ws As String
Set summaryWs = WorkSheets(2)
With summaryWs
lastRow = .Cells(.Rows.count, "A").End(xlUp).Row
For I = 7 To lastRow 'you didn't initiate i so guessing first row is 7
ws = .Cells(I, 1)
.Cells(I, 2) = WorkSheets(ws).Range("B6") 'not sure if you need formatting. this does not have formatting
Next
End With
End Sub
你定义a
循环a
外部,所以i
被设置为0
。 我猜这不是你想要的,因为在那种情况下做7 + i是没有意义的。 我会添加Debug.Print a
,以确保它被设置为正确的东西。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.