[VBA ] 请教 执行阶段错误'1004'

楼主: foreverkn (时间是最好的疗剂)   2023-07-20 20:05:20
我的程式码如下:
Dim i, j, n, m As Integer
Dim V5, V10, V20, V60, V120, V240 As Double
Dim R5, R10, R20, R60, R120, R240 As Range
n = Sheets("成交量").Cells(Rows.Count, 3).End(xlUp).Row
m = Sheets("成交量").Cells(11, Columns.Count).End(xlToLeft).Column
For i = 12 To n
Sheets("得分").Cells(i, 1) = Sheets("成交量").Cells(i, 1)
Sheets("得分").Cells(i, 2) = Sheets("成交量").Cells(i, 2)
Sheets("得分").Cells(i, 3) = Sheets("成交量").Cells(i, 3)
V = Sheets("成交量").Cells(i, m)
Set R5 = Sheets("成交量").Range(Cells(i, m - 4), Cells(i, m))
Sheets("得分").Range("B1") = WorksheetFunction.Max(R5)
If V = WorksheetFunction.Max(Sheets("成交量").Range(Cells(i, m - 4), _
Cells(i, m))) Then
Sheets("得分").Cells(i, 6) = 1
End If
Next
执行后出现
执行阶段错误'1004':
应用程式或物件定义上的错误
有问题的是 "Set R5 = Sheets("成交量").Range(Cells(i, m - 4), Cells(i, m))"
这一列,我不知道这一列程式码有什么问题,请教大家帮我解惑,谢谢
作者: LPH66 (-6.2598534e+18f)   2023-07-21 18:42:00
Range 里的 Cells 不能单独呼叫, 仍然要用原来的语法串同一张资料表 (同一个 Sheets) 的话可以在前面加 . 简写就是变成 ###.Range(.Cells(###), .Cells(###))
楼主: foreverkn (时间是最好的疗剂)   2023-07-21 22:00:00
请问###是指 Sheets("成交量")这样吗?再请问所谓用原来的语法串是什么意思?我上面的写法的问题在哪里?刚想了一下,我懂你的意思了
作者: ideo (ideo)   2023-07-22 22:13:00
非常感谢楼上的回答
作者: MOONRAKER (㊣牛鹤鳗毛人)   2023-07-23 15:55:00
是叙述(statement),不是语法(syntax)全世界应该只有台湾人用后者蒙混前者 还觉得很高级
作者: diabolica (打回大師再改ID)   2023-07-29 11:42:00
推楼上
作者: LPH66 (-6.2598534e+18f)   2023-07-29 15:23:00
大概是我积非成是了吧 (用习惯了就这样一直用了)
作者: MOONRAKER (㊣牛鹤鳗毛人)   2023-07-30 08:56:00
永不嫌迟 有发现就可改 :)

Links booklink

Contact Us: admin [ a t ] ucptt.com