我试图计算一个名为" days"的对象中存储的指定范围内的单元格数量,但是我得到了
1004错误
当我运行以下代码来获取它时:
Sub test2()
Dim ncol As Integer
Dim days As Range
Worksheets(1).Activate
ActiveSheet.Range("B1").Select
Set days = Range(Selection, Selection.End(xlToRight))
ncol = days.Count
End Sub
设置"天&#34>时出错。范围
我已多次修改代码,但我没有发现任何错误。有谁可以帮助我?
我修改了我的代码,将其引用到一系列数据并且一直都失败了:
Sub test2()
Dim ncol As Integer
Dim days As Range
Worksheets("2017").Activate
ActiveSheet.Range("B2").Select
Set days = Range(Selection, Selection.End(xlToRight))
ncol = days.Count
End Sub
我最终解决了这个问题,创建了与" 2017"的对象相同的子程序。工作簿中的工作表而不是一个工作表。谢谢你们两位的帮助
答案 0 :(得分:2)
如果数据存在,您的代码将有效:
Sub test2()
Dim ncol As Integer
Dim days As Range
Worksheets(1).Activate
ActiveSheet.Range("B1").Select
Set days = Range(Selection, Selection.End(xlToRight))
ncol = days.Count
MsgBox days.Address(0, 0) & vbCrLf & ncol
End Sub
答案 1 :(得分:2)
End(xlToRight)
仅在您的单元格中包含数据时才有效。
注意:您不必使用Activate
,Select
或Selection
。
修改后的代码
Sub test2()
Dim ncol As Integer
Dim days As Range
With Sheets(1)
Set days = .Range("B1", .Range("B1").End(xlToRight))
ncol = days.Columns.Count ' if you want to get number of columns
ncol = days.Cells.Count ' if you want to get number of cells (in your case it's the same)
End With
End Sub