尝试计算excel中网格中是否存在某些内容,这些内容是否由于是否填充了颜色而定义(这就是我的老板想要格式化的方式)。不是VBA的专家,而且在这个循环的第二行出现错误。变量在此之前定义,并且循环中还有一堆其他东西,但我不包括它以节省空间。我很确定这个问题会很明显。
With ThisWorkbook.Worksheets("Core List")
Do While Not .Range(Cells(3, x)).Value = "" 'while current name box isn't empty
name1 = .Range(Cells(3, x)).Value 'sets the name in the stat sheet
ThisWorkbook.Worksheets(stat).Range(Cells(4, x - 2)) = name1
Loop
End With
答案 0 :(得分:1)
如果代码所在的工作表与“核心列表”不同,则只需使用.Cells
,请参阅:
With ThisWorkbook.Worksheets("Core List")
Do While Not .Cells(3, x).Value = "" 'while current name box isn't empty
name1 = .Cells(3, x).Value 'sets the name in the stat sheet
ThisWorkbook.Worksheets(stat).Cells(4, x - 2).Value = name1
Loop
End With
1 - 如果您只想要一个单元格,则无需将Cells
放在Range
内。如果您使用Cells
这样松散,它将从您插入此代码的工作表中获取单元格。但是,如果您使用.Cells
,则可以从With
块中声明的工作表中获取它。
注意:如果x
为零或更低,它将失败,工作表中没有第0列。而且,如果它太大(我相信256),你也会超出表格的限制。