Sub Button53_Click()
Dim rowsvalue As Integer
Dim rowsnum As Integer
rowsvalue = Sheet1.Range("C38").Value
rowsnum = Math.Round(rowsvalue / 20, 1)
k = 0
For Counter = 16 To 46
Worksheets("Single L Angle").Cells("F", Counter).Value = rowsnum * k
k = k + 1
Next Counter
End Sub
我无法弄清楚这一点,我正在尝试制作一个VB代码,它从单元格“C38”获取值,将其除以20,然后将这些值粘贴到单元格F16中 - > F36。到目前为止一切都很好,但是当涉及到:
Worksheets("Single L Angle").Cells("F", Counter).Value = rowsnum * k
我一直收到Mismatch 13错误。
答案 0 :(得分:1)
.Cells()方法将Row和Column作为整数。你不能传递像#34; A2"这样的字符串。如果要使用它来访问单元格,请使用该单元格的行号和列号。
例如:选择单元格" A2":
Cells(1,2).Select
所以在你的情况下你想要:
Worksheets("Single L Angle").Cells(Counter,6).Value = rowsnum * k
因为F是第6个字母。您可以通过嵌套循环使用它来循环遍历单元格块。
或者你可以使用MattHead93描述的Range()方法。
答案 1 :(得分:0)
For Counter = 16 To 46
Worksheets("Single L Angle").Range("F" & Counter).Value = rowsnum * k
k = k + 1
Next Counter
这有效吗?
答案 2 :(得分:0)
您可以使用
Worksheets("Single L Angle").Cells(Counter,6) = rowsnum * k
或者
Worksheets("Single L Angle").range("F" & format(counter)).Value = rowsnum * k