0
我有一个excel文件,其中某列的每一行都有由“|”分隔的数据(日期和整数)。有了VBA,我想突出显示一个单元格,如果它包含的值大于3,000,000。拆分分隔单元格并突出显示单元格是否包含特定值
以下是我的代码。 sh2lrow是我目前工作表的最后一行(表2)。 ioSched是我正在使用的专栏。你能帮助我一个更好的解决方案吗?我分割单元格,然后如果它是一个整数,将字符串转换为整数,然后突出显示红色,如果大于3,000,000。
For i = 2 To sh2lRow
splitBudget = Split((sh2.Cells(i, ioSched)), "|")
For Each Item In splitBudget
If IsNumeric(Item) Then
finalNumber = CInt(Item)
Else: finalNumber = 0
End If
If finalNumber > 3000000 Then sh2.Cells(i, ioSched).Interior.ColorIndex = 3
Next
Next i
哪个来第一:'日期|号码或号码| date'?并且有数千个分隔符? – Parfait
你在程序中碰巧有'On Error Resume Next'吗?如果值高于32,767,则CInt(Item)将溢出。你需要使用finalNumber作为'Long' - 而不是'CLng(Item)'。 – Comintern
是日期|日期|号码,有时重复(即日期|日期|号码)。没有一千个分离器。我在“excel文件的图像”中插入了一个例子。我还陷入困境,因为我想强调单元格中的任何数字是否都大于3000000. –