迴圈請益,使用For Next陳述式:若b有值則a建立x
- 帖子
- 233
- 主題
- 53
- 精華
- 0
- 積分
- 292
- 點名
- 0
- 作業系統
- WinXp
- 軟體版本
- 2010
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2012-1-6
- 最後登錄
- 2024-3-8

|
迴圈請益,使用For Next陳述式:若b有值則a建立x
搜尋了迴圈命令的教學和討論,還是不太明瞭如何使用
想請教各位前輩們
若
B6:B43,B59:B96
有字元,則執行巨集後,在左方A欄位自動輸入"x"字號
迴圈範例.rar (15.2 KB)
|
|
|
|
|
|
|
- 帖子
- 967
- 主題
- 0
- 精華
- 0
- 積分
- 1001
- 點名
- 0
- 作業系統
- WIN XP
- 軟體版本
- OFFICE 2003
- 閱讀權限
- 50
- 性別
- 男
- 來自
- 台北
- 註冊時間
- 2010-11-29
- 最後登錄
- 2022-5-17
 
|
2#
發表於 2012-5-18 09:25
| 只看該作者
回復 1# jackson7015 - Sub xx()
- For Each B In Union([B6:B43], [B59:B96])
- If B <> "" Then B.Offset(, -1) = "x"
- Next
- End Sub
複製代碼 |
|
|
|
|
|
|
- 帖子
- 1572
- 主題
- 16
- 精華
- 2
- 積分
- 1521
- 點名
- 0
- 作業系統
- xp
- 軟體版本
- office 2003
- 閱讀權限
- 150
- 性別
- 男
- 註冊時間
- 2010-5-1
- 最後登錄
- 2016-1-13

|
3#
發表於 2012-5-18 12:51
| 只看該作者
- Sub YY()
- For Each C In [B:B].SpecialCells(2)
- C(1, 0) = "X"
- Next
- End Sub
複製代碼 這樣可避免循環到空白儲存格 |
|
|
|
|
|
|
- 帖子
- 67
- 主題
- 8
- 精華
- 0
- 積分
- 78
- 點名
- 0
- 作業系統
- Windows XP
- 軟體版本
- Excel 2010
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2012-5-15
- 最後登錄
- 2021-9-14
|
4#
發表於 2012-5-18 13:39
| 只看該作者
回復 3# oobird
請問一下, 程式中 的 C 變數, 是 Range 物件嗎? |
|
|
|
|
|
|
- 帖子
- 1572
- 主題
- 16
- 精華
- 2
- 積分
- 1521
- 點名
- 0
- 作業系統
- xp
- 軟體版本
- office 2003
- 閱讀權限
- 150
- 性別
- 男
- 註冊時間
- 2010-5-1
- 最後登錄
- 2016-1-13

|
5#
發表於 2012-5-18 15:03
| 只看該作者
當然是。
你可以用MsgBox TypeName(c)
得知變數類型 |
|
|
|
|
|
|
- 帖子
- 5923
- 主題
- 13
- 精華
- 1
- 積分
- 5986
- 點名
- 0
- 作業系統
- win10
- 軟體版本
- Office 2010
- 閱讀權限
- 150
- 性別
- 男
- 來自
- 台灣基隆
- 註冊時間
- 2010-5-1
- 最後登錄
- 2022-1-23
        
|
6#
發表於 2012-5-18 15:49
| 只看該作者
回復 4# alumi
Dim C As Variant 一 般迴圈 變數可設為 Variant 沒被明確宣告為其他型態 (可以為任何型態)
- Sub Ex()
- [B:B].SpecialCells(xlCellTypeConstants).Offset(, -1) = "X"
- ' [B:B].SpecialCells(2).Offset(, -1) = "X" ' 同上 xlCellTypeConstants 參數的值=2
- End Sub
- Sub YY()
- Dim C As Variant
- For Each C In [B:B].SpecialCells(2)
- C(1, 0) = "X"
- ' MsgBox TypeName(C)
- Next
- MsgBox TypeName(C)
- End Sub
- Sub YY_A()
- Dim C As Range
- For Each C In [B:B].SpecialCells(2)
- C(1, 0) = "X"
- ' MsgBox TypeName(C)
- Next
- MsgBox TypeName(C)
- End Sub
複製代碼 |
|
|
|
|
|
|
- 帖子
- 67
- 主題
- 8
- 精華
- 0
- 積分
- 78
- 點名
- 0
- 作業系統
- Windows XP
- 軟體版本
- Excel 2010
- 閱讀權限
- 20
- 性別
- 男
- 註冊時間
- 2012-5-15
- 最後登錄
- 2021-9-14
|
7#
發表於 2012-5-18 23:05
| 只看該作者
本帖最後由 alumi 於 2012-5-18 23:25 編輯
當然是。
你可以用MsgBox TypeName(c)
得知變數類型
oobird 發表於 2012-5-18 15:03 
謝謝~~GBKEE |
|
|
|
|
|
|