Re: [VBA ] 請問型態不符合的問題
※ 引述《foreverkn (時間是最好的療劑)》之銘言:
:
: 我針對一些數據判定大小來上色
:
: 第三行和第五到七行都是有著小數點後兩位的數字
:
: 執行結果其中一行程式碼出現型態不符合的錯誤
:
:
: 程式碼如下 :
:
: Dim i As Integer
: Dim n As Integer
: Dim p As Single
: Dim p1 As Single
:
:
: n = WorksheetFunction.CountA(Columns("A:A"))
:
: Rows("7:300").Select
: Selection.Interior.ColorIndex = xlNone
:
:
: For i = 8 To n + 5
: p = Cells(i, 3).Value
:
: For j = 5 To 7
: p1 = Cells(i, j).Value <--- 這一行呈現黃色,錯誤訊息為
: 執行階段錯誤 '13':型態不符合
:
: If WorksheetFunction.And(p < (p1 * 1.05), p > p1) Then
: Cells(i, j).Select
: With Selection.Interior
: .ColorIndex = 35
: .Pattern = xlSolid
: End With
: ElseIf p < p1 Then
: Cells(i, j).Select
: With Selection.Interior
: .ColorIndex = 50
: .Pattern = xlSolid
: End With
: End If
:
: Next j
:
: Next i
:
:
: --
: ※ 發信站: 批踢踢實業坊(ptt.cc)
: ◆ From: 1.169.180.124
: → MOONRAKER:前面dim多此一舉,拿掉便不會錯。 01/02 02:54
: 推 ClubT:宣告變數是多此一舉嗎? 改成下面這樣應該OK 01/02 09:21
: → ClubT:p1 = CDBL(Cells(i, j).Value) 01/02 09:22
: → MOONRAKER:以這個用途而言我認為不需要…當然也是因為我從不習慣 01/02 10:35
: → MOONRAKER:VB的轉型函數,不如跳過。就算到.NET也不習慣。 >(=) 01/02 10:36
我這上面的方法自己試了之後,拿掉宣告和使用CDBL都還是不行
如果不宣告,由於數據有小數點,p和p1比較大小時似乎有誤
甚至比較大小比錯之後,上色也就跟著上錯了
甚至出現了第五到六行上色正確
但第七行又停下來出現型態不符的錯誤.....
不知道我還有哪裡有問題?
還請各位不吝告知,謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 1.169.180.124
→
01/04 09:03, , 1F
01/04 09:03, 1F
→
01/04 09:04, , 2F
01/04 09:04, 2F
討論串 (同標題文章)
Visual_Basic 近期熱門文章
PTT數位生活區 即時熱門文章