use*_*702 5 excel vba excel-vba
我需要遍历索引3提示最后一张表并运行代码.我试过这样的东西,但它不起作用.
If (ws.sheetIndex > 2) Then
With ws
'code goes here
End With
End If
Run Code Online (Sandbox Code Playgroud)
我做了搜索,但找不到解决这个问题的方法.非常感谢帮助.
我也尝试过:
Dim i As Long, lr As Long
Dim ws As Worksheet
Windows("Book1").Activate
With ActiveWorkbook
Set ws = .Worksheets("index")
For i = 3 To 10
'code goes here
Next i
End With
Run Code Online (Sandbox Code Playgroud)
您可以尝试以下操作,它会迭代工作簿中的所有工作表,并仅对索引为3或更高的工作表进行"操作".
Dim sheet As Worksheet
For Each sheet In ActiveWorkbook.Worksheets
If sheet.Index > 2 Then
' Do your thing with each "sheet" object, e.g.:
sheet.Cells(1, 1).Value = "hi"
End If
Next
Run Code Online (Sandbox Code Playgroud)
请注意,这不会对您拥有的工作表数量(10或其他)设置硬性限制,因为它可以与活动工作簿中的任意数量的工作表一起使用.
编辑
如果您希望代码在带有名称的工作表上运行"Sheet" + i(其中i索引号是从3开始),那么以下内容应该有所帮助:
Dim sheet As Worksheet
Dim i As Long
For i = 3 To ActiveWorkbook.Worksheets.Count
Set sheet = ActiveWorkbook.Worksheets(i)
If sheet.Name = "Sheet" & i Then
' Do your thing with each "sheet" object, e.g.:
sheet.Cells(2, 2).Value = "hi"
End If
Next i
Run Code Online (Sandbox Code Playgroud)
当然,这意味着您的工作表的名称需要始终遵循此模式,因此这不是最佳实践.但是,如果您确定名称将保持这样,那么它应该适合您.
| 归档时间: |
|
| 查看次数: |
13572 次 |
| 最近记录: |