基于单元格值的范围

Range based on cell value

我需要代码来根据单元格值更改范围:

我可以让它在行号取决于单元格值的情况下工作,如下所示,但我需要列值是可变的:

For Nassets = 1 To ws_data.Range("d2")
ws_data.Range("B" & Nassets).Value = 3
Next Nassets

如果 "d2" 的值为 4,范围 B1:B4 = 3,但是我想要范围 B4:E4 = 3

提前致谢!

根据下面的评论,您似乎需要更改代码,使 D2 中的值代表循环中的 ,而不是 - 在这种情况下:

For Nassets = 1 To ws_data.Range("d2")
    ws_data.Cells(4, Nassets).Value = 3 '// Where 4 is the row number
Next Nassets

这可以重写以完全排除循环,如下所示:

ws_data.Range(Cells(4, 2), Cells(4, ws_data.Range("D2").Value)).Value = 3