Pro*_*rot 6 excel vba excel-vba
我想将一个工作表上的每个第八个单元格设置为另一个工作表中的单元格的值.我在这里写了这个:
Sub xx()
For i = 5 To 45 Step 8
Set ThisWorkbook.Sheets("Sheet5").Cells(i, 3).Value = ThisWorkbook.Sheets("Sheet7").Cells(13, 31).Value
Next i
End Sub
Run Code Online (Sandbox Code Playgroud)
如果我尝试运行它,它会给我一个超出范围错误的下标. Sheet5也被命名为Binomial Sheet,我是否必须以不同的方式引用它?还有其他方法可以实现这一目标吗?
尚未提及为多个单元格设置相同值的选项:
ActiveSheet.Range("A1,B2,C3:D4").Value = "SomeValue"
Run Code Online (Sandbox Code Playgroud)
小智 1
如果您只是尝试以这种方式将一个单元格的值设置为另一个单元格,则不需要使用 Set 属性 - 该属性适用于对象而不是值。
ThisWorkbook 还指的是宏的保存位置,但不适合以这种方式调用。
因此,我会给出:ActiveWorkbook.Sheets("Sheet5").Cells(i, 3).Value = ActiveWorkbook.Sheets("Sheet7").Cells(13, 31).Value
尝试一下,因为这对我来说效果很好。