返回列表 上一主題 發帖

重新編號

回復 2# hugh0620
簡單說明一下
樓主目的只是優化程式
以邏輯來說就是要將零亂的編號重新由1開始
遇到與前格不同時加1
以您過去的學習態度我想應該寫得出來
只需迴圈跑完這些儲存格
中間加入判斷而已
註:樓主的發問態度我想大家要引以為戒
      因為這樣往往會得不到好的解答
學海無涯_不恥下問

TOP

回復 4# hugh0620


學習就是不斷練習,不怕錯,只怕不去做
以此為例,就是從第3欄開始,遇到數值不同就加1
參考看看
  1. Sub 編號()
  2. k = 3: n = 1
  3. Do Until Cells(153, k) = ""
  4. test = Cells(153, k)
  5.     Cells(153, k) = n
  6.     If test <> Cells(153, k + 1) Then n = n + 1
  7. k = k + 1
  8. Loop
  9. End Sub
複製代碼
學海無涯_不恥下問

TOP

回復 14# hugh0620
  1. Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  2.      Select Case Target(1).Address(0, 0)
  3.         Case "B1"
  4.             ActiveWindow.ScrollColumn = 1
  5.         Case "B2"
  6.         k = IIf(ActiveWindow.ScrollColumn + 15 > 255, -(ActiveWindow.ScrollColumn) + 3, 15)
  7.             ActiveWindow.ScrollColumn = ActiveWindow.ScrollColumn + k
  8.             Range("A2").Select
  9.         End Select
  10. End Sub
複製代碼
學海無涯_不恥下問

TOP

回復 16# hugh0620
在已使用範圍內循環
  1. Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  2.      Select Case Target(1).Address(0, 0)
  3.         Case "B1"
  4.             ActiveWindow.ScrollColumn = 1
  5.         Case "B2"
  6.         k = IIf(ActiveWindow.ScrollColumn + 15 > UsedRange.Columns.Count, -(ActiveWindow.ScrollColumn) + 3, 15)
  7.             ActiveWindow.ScrollColumn = ActiveWindow.ScrollColumn + k
  8.             Range("A2").Select
  9.         End Select
  10. End Sub
複製代碼
學海無涯_不恥下問

TOP

回復 23# myleoyes
  1. Sub nn()
  2. Range([L1], Cells(1, Columns.Count)) = ""
  3. Do Until i = [A1]
  4. [L1].Offset(, i * 10) = i + 1
  5. i = i + 1
  6. Loop
  7. End Sub
複製代碼
學海無涯_不恥下問

TOP

回復 26# myleoyes


    變數i就是將來要的編號
Do Until i=[a1]
意思是迴圈執行到i值等於[a1]的值停止
學海無涯_不恥下問

TOP

        靜思自在 : 布施如播種,以歡喜心滋潤種子,才會發芽。
返回列表 上一主題