標題:
[發問]
想請問如何解決『執行階段錯誤“13",型態不符合』
[打印本頁]
作者:
HSINLI
時間:
2015-7-16 12:12
標題:
想請問如何解決『執行階段錯誤“13",型態不符合』
此程式碼在執行的時候在
Range("e" & j) = (hilow.Offset(0, 5).Value - Range("b" & j).Value) / hilow.Offset(0, 5).Value
這地方,一直出現『執行階段錯誤“13",型態不符合』錯誤,
hilow 是搜尋結果得到的儲存格變量
然後我是想將搜尋結果那一行的儲存格值hilow.Offset(0, 5)貼到另一工作表上
請問要如何改進才能debug,謝謝!
ps.此為擷取一部分主要出問題的程式碼,完整的於附件
Sub test()
Dim Blast As Integer
Dim hilow As Range
Dim j As Integer
Blast = Range("AA4").End(xlDown).Row
For j = 6 To (Blast * 2) - 1 Step 2
Set hilow = Sheets("G.&E.").Range("c:j").Find(Range("a" & j))
If Not hilow Is Nothing Then
Range("e" & j) = (hilow.Offset(0, 5).Value - Range("b" & j).Value) / hilow.Offset(0, 5).Value
Range("e" & j + 1) = (hilow.Offset(0, 6).Value - Range("b" & j)) / hilow.Offset(0, 6).Value
End If
Range("D" & j) = "=(B" & j & "-C" & j & ")/B" & j
Next j
End Sub
複製代碼
[attach]21393[/attach]
作者:
stillfish00
時間:
2015-7-16 18:12
本帖最後由 stillfish00 於 2015-7-16 18:16 編輯
回復
1#
HSINLI
j = 80時 , Find "NGE" 去找到 標題欄的 "change"
可以改成這樣
Set hilow = Sheets("G.&E.").Range("
c:c
").Find(Range("a" & j),
LookAt:=xlWhole
)
作者:
GBKEE
時間:
2015-7-16 20:54
回復
1#
HSINLI
這段程式碼會拖延程式執行的速度
Blast = Range("AA4").End(xlDown).Row '將下載市價儲存格加大
For i = 7 To (Blast * 2) Step 2
Cells(i, 2).Insert shift:=xlDown '增加儲存格
Range("b" & i - 1 & ":b" & i).Select '合併儲存格
Selection.MergeCells = True
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
With Selection.Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.ColorIndex = 0
.TintAndShade = 0
.Weight = xlThin
End With
Selection.NumberFormatLocal = "0.00_ "
Next i
複製代碼
可修改為如下試試看
Dim Ar(), x As Integer
Ar = Range("b6", Range("b6").End(xlDown)).Value 'B欄的值導入陣列
With Range("A6", Range("A" & Rows.Count).End(xlUp)) 'A欄的合併儲存格
.Select
Selection.Copy Range("B6") '複製到 B欄
With .Offset(, 1) 'B欄
For i = 1 To .Cells.Count Step 2
x = Application.Round(i - (i / 2), 0) '陣列元素的索引值 (四捨五入運算的結果)
.Cells(i) = Ar(x, 1)
Next
With .Borders
.LineStyle = xlContinuous
.ColorIndex = 0
.Weight = xlThin
.TintAndShade = 0
End With
End With
End With
複製代碼
作者:
HSINLI
時間:
2015-7-20 13:03
回復
2#
stillfish00
想請問一下s大
是怎樣測出來說在j=80時,出問題的啊!?
下次想自己抓抓看問題在哪
作者:
HSINLI
時間:
2015-7-20 13:04
回復
3#
GBKEE
謝謝g大!
可行且真的比較快,謝謝你!
作者:
stillfish00
時間:
2015-7-23 19:41
回復
4#
HSINLI
因為沒彈出偵錯按鈕
我是用下面這樣停到發生錯誤的那行,再去看變數
Private Sub CommandButton2_Click()
On Error GoTo ERR_HANDLE
...
Exit Sub
ERR_HANDLE:
Stop 'F8 to resume error line
Resume
End Sub
複製代碼
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)