- 帖子
- 28
- 主題
- 7
- 精華
- 0
- 積分
- 43
- 點名
- 0
- 作業系統
- windows7
- 軟體版本
- office2010
- 閱讀權限
- 10
- 性別
- 男
- 來自
- 台灣
- 註冊時間
- 2013-11-8
- 最後登錄
- 2020-4-9

|
scripting.dictionary使用疑問
請教各位高手
我想把sheet1(工作表1)中部分資料
放入字典物件D(1) 用A欄的債券代碼當KEY
然後依債券代碼
貼入Sheets("債券-已交割部位(台幣)")
可是執行到 .Offset(, 8) = D(1)(rng1.Value)(0)出現錯誤
執行階段錯誤"13"
型態不符合
請問
1.哪裡出問題了??
2.程式可以寫的再簡化一些嗎??
感恩
Sub 債券貼()
Dim rng As Range, rng1 As Range, TP As Range, TP1 As Range
Dim D(1) As Object
Set D(1) = CreateObject("scripting.dictionary")
Sheets("工作表1").Select
With Range("a1:a50")
Set TP = .Find(what:="交易部位", LookIn:=xlValues, lookat:=xlWhole, searchdirection:=xlNext)
End With
Set rng = TP.Offset(2)
Do While rng <> ""
With rng
D(1)(rng.Value) = Array(Val(.Offset(, 8)), Val(.Offset(, 9)), Val(.Offset(, 10)), Val(.Offset(, 11)), Val(.Offset(, 12)))
End With
Set rng = rng.Offset(1)
Loop
Sheets("債券-已交割部位(台幣)").Select
With Range("a1:a50")
Set TP1 = .Find(what:="交易部位", LookIn:=xlValues, lookat:=xlWhole, searchdirection:=xlNext)
End With
Set rng1 = TP1.Offset(1)
Do While rng1 <> ""
With rng1
.Offset(, 8) = D(1)(rng1.Value)(0) '這裡出現錯誤
.Offset(, 9) = D(1)(rng1.Value)(1)
.Offset(, 10) = D(1)(rng1.Value)(2)
.Offset(, 11) = D(1)(rng1.Value)(3)
.Offset(, 12) = D(1)(rng1.Value)(4)
End With
Set rng1 = rng1.Offset(1)
Loop
End Sub |
-
-
債券部位評價.rar
(29.87 KB)
|