(陣列問題)將某一直欄存至陣列中並取出某陣列值所在的列數
- 帖子
- 45
- 主題
- 10
- 精華
- 0
- 積分
- 59
- 點名
- 0
- 作業系統
- Win7
- 軟體版本
- Office 2007
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2014-2-6
- 最後登錄
- 2019-6-22

|
(陣列問題)將某一直欄存至陣列中並取出某陣列值所在的列數
本帖最後由 greetingsfromtw 於 2016-10-7 12:45 編輯
各位前輩好,
小弟初學陣列,有個問題想請教,
附檔及程式碼如下:
20161007-問題-取出陣列值的列數.zip (13.17 KB)
- Sub arrayTest()
- Dim ar
- Range("a2").Resize(Cells(Rows.Count, 1).End(xlUp).Row, 1).Select
- Selection.Resize(Selection.Rows.Count - 1, 1).Select
- ar = Selection
- MsgBox ar(3, 1)
- ar(3, 1).Select
- End Sub
複製代碼 假設今天有一欄位,此例為A欄,
想把該欄位(從A2開始)的非空白儲存格存進陣列中,
並取出該陣列值的所在列數,
不知是否可行?
小弟試著用msgbox去顯示陣列的值,可以正常顯示,
但是想要顯示該陣列值的所在列數,
就會提示錯誤:
此處需要物件,
希望前輩可以不吝指點迷津,十分感謝. |
|
|
|
|
|
|
|
- 帖子
- 549
- 主題
- 152
- 精華
- 0
- 積分
- 691
- 點名
- 0
- 作業系統
- WIN7
- 軟體版本
- OFFICE 2010
- 閱讀權限
- 50
- 性別
- 男
- 註冊時間
- 2013-8-10
- 最後登錄
- 2022-9-7
 
|
2#
發表於 2016-10-7 15:35
| 只看該作者
回復 1# greetingsfromtw
基本上陣列是不能被選取的
只有物件才能被選取(活頁簿、分頁、儲存格等等)
下面是簡單範例,可自行運用- Sub arrayTest()
- Dim ar
- ar = Range("a1").Resize(Cells(Rows.Count, 1).End(xlUp).Row, 2)
- For i = 2 To UBound(ar)
- If ar(i, 1) <> "" Then
- ar(i, 2) = i
- End If
- Next
- [a1].Resize(UBound(ar), 2).Value = ar
- '若要選取,請自行應用
- MsgBox ar(2, 2)
- Cells(ar(2, 2), 1).Select
- End Sub
複製代碼 |
|
|
PKKO
|
|
|
|
|
- 帖子
- 45
- 主題
- 10
- 精華
- 0
- 積分
- 59
- 點名
- 0
- 作業系統
- Win7
- 軟體版本
- Office 2007
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2014-2-6
- 最後登錄
- 2019-6-22

|
3#
發表於 2016-10-7 17:52
| 只看該作者
回復 2# PKKO
很謝謝PKKO大熱心提供的程式碼,
確實這樣就可以選取了,
我再研究一下.
再次感謝. |
|
|
|
|
|
|
|