- 帖子
- 559
- 主題
- 58
- 精華
- 0
- 積分
- 626
- 點名
- 0
- 作業系統
- win8
- 軟體版本
- office2013
- 閱讀權限
- 50
- 性別
- 男
- 來自
- TW
- 註冊時間
- 2010-11-22
- 最後登錄
- 2024-6-14
|
6#
發表於 2011-1-4 18:19
| 只看該作者
回復 4# Hsieh
Dear 大大
我用一個很笨的方式來處理當DATA無資料時,所產生的問題
不知道大大是否有其他方式
這是我用大大的程式碼修改 (紅色為我新增的地方)
Dim Ay()
Set d = CreateObject("Scripting.Dictionary")
With Sheet2
ar = .Range(.[B5], .[B5].End(xlDown).Offset(, 2))
If UBound(ar, 1) = 0 Or UBound(ar, 1) = 65536 - 4 Then
For i = 1 To 1
mystr1 = Join(Application.Index(ar, i))
d(mystr1) = d.Count
Next
Else For i = 1 To UBound(ar, 1)
mystr1 = Join(Application.Index(ar, i))
d(mystr1) = d.Count
Next
End If With Sheet1
ar = .Range(.[B5], .[B5].End(xlDown).Offset(, 6))
For i = 1 To UBound(ar, 1)
mystr1 = Join(Array(ar(i, 1), ar(i, 2), ar(i, 6)))
If d.exists(mystr1) = False Then
ReDim Preserve Ay(s)
Ay(s) = Array(ar(i, 1), ar(i, 2), ar(i, 6), ar(i, 7))
s = s + 1
End If
Next
End With
If s > 0 Then .[B65536].End(xlUp).Offset(1, 0).Resize(s, 4) = Application.Transpose(Application.Transpose(Ay))
End With |
|