0
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

我不断收到不匹配 13 错误。

4

3 回答 3

1

.Cells() 方法将行和列作为整数。你不能给它传递一个像“A2”这样的字符串。如果要使用它来访问单元格,请使用该单元格的行号和列号。

例如:选择单元格“A2”:

Cells(1,2).Select

所以在你的情况下你想要:

Worksheets("Single L Angle").Cells(Counter,6).Value = rowsnum * k

因为 F 是第 6 个字母。您可以通过嵌套循环一般地使用它来循环一个单元格块。

或者,您可以使用 MattHead93 描述的 Range() 方法。

于 2013-07-11T14:37:53.870 回答
0

You can use

Worksheets("Single L Angle").Cells(Counter,6) = rowsnum * k

Or

Worksheets("Single L Angle").range("F" & format(counter)).Value = rowsnum * k
于 2013-07-11T15:27:00.970 回答
0
For Counter = 16 To 46
    Worksheets("Single L Angle").Range("F" & Counter).Value = rowsnum * k
    k = k + 1
Next Counter

这会更好吗?

于 2013-07-11T14:33:25.900 回答