- 帖子
- 835
- 主題
- 6
- 精華
- 0
- 積分
- 915
- 點名
- 1
- 作業系統
- Win 10,7
- 軟體版本
- 2019,2013,2003
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2010-5-3
- 最後登錄
- 2025-7-5
|
2#
發表於 2019-2-28 21:40
| 只看該作者
For Each arr In Range([代號!y1], [代號!z65536].End(xlUp))
If arr(1, 2) "" Then d(arr(1, 2) & " ...
s7659109 發表於 2019-2-27 10:46 
[代號!y1] 形式的儲存格位址表示方式,
其實是用在儲存格的公式裡的,
僅適用於全域程式(即模組內)中.
若是在工作表內的VB程式則應使用 Sheets("工作表名稱").[儲存格位址] 的表示方式 :- Sub nn()
- Dim arr, d
- Set d = CreateObject("Scripting.Dictionary")
- With Sheets("代號")
- For Each arr In .Range(.[y1], .[z65536].End(xlUp)) ' Range 前面必須有個點, 才能索引到 Sheets("代號") 裡的儲存格
- If arr(1, 2) <> "" Then d(arr(1, 2) & "-") = arr(1, 1)
- Next
- End With
- End Sub
複製代碼 |
|