Ash*_*hok 1 excel vba excel-vba
我想从工作簿中获取包含多个工作表的数据,并且不知道哪个工作表有数据.因此,需要检查工作簿的每个工作表的已用行数,并激活包含用于获取数据的最大已用行的工作表.使用以下代码的结构和任何建议将不胜感激.
Sub Maxdatasheet()
Dim wscount As Integer
Dim myArray() As Variant
wscount = ActiveWorkbook.Worksheets.Count
For i = 1 To wscount
myArray(i) = Worksheets(i).UsedRange.Rows.Count
Next
'need to activate the maximus rows of the sheet
End Sub
Run Code Online (Sandbox Code Playgroud)
一些变化:
- 没有数组,跟踪哪个工作表有最大值
- 改为For Each(即使你的代码在这方面完全没问题)
Sub Maxdatasheet()
Dim ws As Worksheet
Dim MaxRowSheet As Worksheet
Dim MaxRowCount As Long ' Do not use Integer, may be too small and cause overflow
wscount = ActiveWorkbook.Worksheets.Count
MaxRowCount = 0
For Each ws In ActiveWorkbook.Worksheets
If ws.UsedRange.Rows.Count > MaxRowCount Then
MaxRowCount = ws.UsedRange.Rows.Count
Set MaxRowSheet = ws
End If
Next
MaxRowSheet.Activate
End Sub
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5882 次 |
| 最近记录: |