我在网站上查看了很多问题,但似乎没有一个是我的具体问题。每个人的问题似乎都没有使用“ set”,但是正如您在下面看到的,我已经做到了。
该代码存储主表中的一年(从技术上来说,是-1年,但相同)。发现应该在另一张纸上寻找该特定年份的专栏。我尝试了许多不同的版本,但是似乎都没有用(例如,不将工作表存储在变量中,而是在find函数中命名)。我想使用此变量来更新图表,列号将帮助我根据指定的年份动态调整图表的范围。
我知道问题出在参考另一个工作表,因为如果我只是在“主要工作表”上输入年份编号并在其中进行搜索,则执行就没有问题(参考工作表不受保护-还要检查一下)
Dim year As Integer
Dim ws As Worksheet
Set ws = Worksheets("Sheet 1")
year = Worksheets("Main sheet").Cells(4, 18).Value - 1
ColNum = Cells.Find(year, ws.Range("B67"), xlValues, , xlByRows, xlNext).Column
答案 0 :(得分:0)
是的,确实是在引用另一张纸。当您只有Cells
时,您仍在参考当前的工作表。应该是这样的:
ColNum = ws.Cells.Find(year, ws.Range("B67"), xlValues, , xlByRows, xlNext).Column