范围不适用于工作表

我在VBA中有下面的代码。 与下面的代码的问题是范围是指data表,只要我在其他一些工作表失败。

 monthname = Range("D5", Range("D5").End(xlToRight)).Cells.Count - 1 

你能否给我提供一个解决scheme,无论我在哪里工作簿范围内,都应该从data表中select?

使用

 monthname = sheets("data").Range("D5", sheets("data").Range("D5").End(xlToRight)).Cells.Count - 1 

btw在这个论坛或谷歌的小search会得到你这个答案。

你最好完全符合你的范围。 使用

 Dim ws as Worksheet Set ws = ActiveWorkbook.Sheets("data") ' or an alternative suitable for your case Dim monthname as Long monthname = ws.Range("D5", ws.Range("D5").End(xlToRight)).Cells.Count - 1 

请注意,第二次参考D5也是合格的,否则你可能会发现麻烦。

PS:你为什么要把一个月份的名字当作一个整数?

使用

在这个论坛或谷歌上search一个小的search结果(例如:“D5”,表(“数据”),范围(“D5”),结束(xlToRight))。有你这个答案。