返回列表 上一主題 發帖

迴圈請益,使用For Next陳述式:若b有值則a建立x

迴圈請益,使用For Next陳述式:若b有值則a建立x

搜尋了迴圈命令的教學和討論,還是不太明瞭如何使用
想請教各位前輩們

B6:B43,B59:B96
有字元,則執行巨集後,在左方A欄位自動輸入"x"字號
迴圈範例.rar (15.2 KB)

回復 1# jackson7015
  1. Sub xx()
  2. For Each B In Union([B6:B43], [B59:B96])
  3.   If B <> "" Then B.Offset(, -1) = "x"
  4. Next
  5. End Sub
複製代碼

TOP

  1. Sub YY()
  2. For Each C In [B:B].SpecialCells(2)
  3. C(1, 0) = "X"
  4. Next
  5. End Sub
複製代碼
這樣可避免循環到空白儲存格

TOP

回復 3# oobird


    請問一下, 程式中 的  C 變數, 是 Range 物件嗎?

TOP

當然是。
你可以用MsgBox TypeName(c)
得知變數類型

TOP

回復 4# alumi
   Dim C As Variant    一 般迴圈 變數可設為 Variant 沒被明確宣告為其他型態 (可以為任何型態)
  1. Sub Ex()
  2.     [B:B].SpecialCells(xlCellTypeConstants).Offset(, -1) = "X"
  3.    ' [B:B].SpecialCells(2).Offset(, -1) = "X"   '  同上  xlCellTypeConstants 參數的值=2
  4. End Sub
  5. Sub YY()
  6.     Dim C As Variant  
  7.     For Each C In [B:B].SpecialCells(2)
  8.         C(1, 0) = "X"
  9.       ' MsgBox TypeName(C)
  10.     Next
  11.     MsgBox TypeName(C)
  12. End Sub
  13. Sub YY_A()
  14.     Dim C As Range
  15.     For Each C In [B:B].SpecialCells(2)
  16.         C(1, 0) = "X"
  17.     '    MsgBox TypeName(C)
  18.     Next
  19.     MsgBox TypeName(C)
  20. End Sub
複製代碼

TOP

本帖最後由 alumi 於 2012-5-18 23:25 編輯
當然是。
你可以用MsgBox TypeName(c)
得知變數類型
oobird 發表於 2012-5-18 15:03

  
   

    謝謝~~GBKEE

TOP

        靜思自在 : 好事要提得起,是非要放得下,成就別人即是成就自己。
返回列表 上一主題