返回列表 上一主題 發帖

[發問] 迴圈問題

[發問] 迴圈問題

本帖最後由 spermbank 於 2013-11-22 12:07 編輯

大家好:
     Sheets("工作表1").Select
      x = Application.WorksheetFunction.CountA(Range("A:A")) '欄位有值範圍計算
     假設X=10
     for i = 3 to x
     next
     可以執行
     for i = x to 3
     next
     為什麼不能執行,有什麼方式可以使這個迴圈正常執行呢?

回復 1# spermbank
你沒有常瀏覽討論區的內容,(多多瀏覽,功力才能升級)
  1. X=10
  2.      for i = 3 to x
  3.      next
  4.      for i = x to 3  STEP -1
  5.      next
  6.    
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

本帖最後由 spermbank 於 2013-11-22 12:43 編輯

回復 2# GBKEE


    G大,感謝。
    我會慢慢學習瀏覽,現在都花在想策略上><
    感謝

TOP

回復 1# spermbank


for 在你沒有指定的情形下,都是從小到大去執行的,
所以你只要x比後面的數值大,就不會動,
因此要在後面加個 step -1,
step表示數值每次跳的間隔。

TOP

回復 1# spermbank

x = Application.WorksheetFunction.CountA(Range("A:A")) '欄位有值範圍計算

看大家比較常用的方法是
x = [A65536].End(xlUp).Row 'A欄最後一個資料的列號
{...} 表示需要用 CTRL+SHIFT+ENTER 三鍵輸入公式

TOP

回復  spermbank

x = Application.WorksheetFunction.CountA(Range("A:A")) '欄位有值範圍計算

看大 ...
ML089 發表於 2013-11-22 17:32



    Counta 有一個條件是的要看看欄位上不能有空值出現, 出現的話會少算了.
懂得發問,答案就會在其中

今日の一秒は  明日にない
http://kimbalko-chi.blogspot.com
http://kimbalko.blogspot.com

TOP

有更簡單的:

x = Sheets("工作表1").UsedRange.Rows.Count

不過只會回總共行數,如果開頭是空白的則不會計算進去。
你好

TOP

  Sheets("工作表1").Select
      x = Application.WorksheetFunction.CountA(Range("A:A")) '欄位有值範圍計算
     假設X=10
     for i = 3 to x
     next
     可以執行
     for i = x to 3
     next


可以改成:
  1. Sheets("工作表1").Select
  2. total = ActiveSheet.UsedRange.Rows.Count
  3. start = 3
  4. For i = total+start To start Step -1
  5. '執行
  6. Next
複製代碼
你好

TOP

        靜思自在 : 為人處世要小心細心,但不要「小心眼」。
返回列表 上一主題