我是VBA的新手,我的代码遇到了一些麻烦。我有名为2001,2002,2003 ... 2010的表。我想依次选择每个表,并对每个工作表执行一些简单的操作。我试图使用for循环,从2000年到2010年递增,但它被卡住了。我认为问题是我不知道如何使用for循环指定它应该选择的工作表名称。
.logos {
display: flex;
flex-wrap: wrap;
justify-content: center;
}
.partner {
width: span(3 of 12);
margin-right: gutter(12);
&:nth-child(4n),
&:last-child {
margin-right: 0;
}
}
答案 0 :(得分:0)
问题在于,如果在Sheets()
内放置一个整数,则假定您正在查找索引,如第2000页中的那样,而非Sheet 2000。
将其更改为
Sheets(cstr(i)).Select
话虽如此,您确实应该通过代码处理并通过直接引用单元格来删除.select
。一个好的资源是here。它将大大加快并帮助确保更少的错误。
所以你的For循环就是这样
For i = 2000 To 2002 ' for each of the years in turn
With Sheets(CStr(i))
.Range(.Range("A17"), .Range("A17").End(xlDown).End(xlToLeft)).Copy
End With
With Worksheets("Combined_data")
y = .UsedRange.Rows.Count 'count how many rows of worksheet "AllData_Raw" have been used so far.
.Cells(y + 1, 1).Paste
End With
Next i