下面的代码片段尝试查看一列单元格的内容。每个单元格的格式为:“X.XX_-_X.XX”。例如:5.66 - 13.44。该代码的目的是获取每个单元格,将每个字符串转换为双精度值,将它们与其他一些数字进行比较,然后对下一个单元格重复。
Sub Test()
Dim PC As Worksheet
Dim i As Integer
Dim MaxSpace, MinSpace As Double
Dim MinMax() As String
Set PC = Workbooks("RFQ_Worksheet").Worksheets("Press Choice")
For i = 7 To 52
MinMax = Split(PC.Cells(i, 8), " - ", 2)
MaxSpace = CDbl(MinMax(1))
MinSpace = CDbl(MinMax(0))
If MaxSpace > 10.3 Then
'Do some stuff
End If
Next i
End Sub
该行包含MaxSpace = CDbl(MinMax(1))
给出“下标超出范围”错误。但是,当我更换PC.Cells(i, 8)
with PC.Cells(7, 8)
,代码运行良好。
我在这里缺少什么?
基本上,您正在点击循环中没有分隔符的单元格。
Fix:
Sub Test()
Dim PC As Worksheet
Dim i As Integer
Dim MaxSpace As Double 'you didn't declare it properly
Dim MinSpace As Double
Dim MinMax() As String
Dim r As Range
Set PC = ThisWorkbook.Worksheets("Press Choice")
For i = 7 To 52
Set r = PC.Cells(i, 8)
If InStr(r, " - ") <> 0 Then
MinMax = Split(PC.Cells(i, 8), " - ", 2)
MaxSpace = CDbl(MinMax(1))
MinSpace = CDbl(MinMax(0))
'... etc
End If
Next i
End Sub
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)