返回列表 上一主題 發帖

[發問] 該如何輸入完資料後,自動往下一儲存格繼續輸入資料

回復 1# yueh0720
該工作表儲存格有輸入時的預設事件
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2.     Dim Rng As Range, R1%, R2%
  3.     Set Rng = Range("B2").CurrentRegion
  4.     'CurrentRegion以任意空白列及空白欄的組合為邊界的連續範圍
  5.     If Not Application.Intersect(Target(1), Rng) Is Nothing Then   'Rng的範圍包含Target(1)的位址
  6.     'Target(1) ->工作表所選擇範圍的第一個儲存格
  7.         If Target(1).Row = Rng.Row Then Exit Sub    ' 在第一列
  8.         R1 = Rng.Column                             '第一欄的   欄數
  9.         R2 = Rng(1, Rng.Columns.Count).Column       '最後一欄的 欄數
  10.         If Application.CountA(Range(Cells(Target(1).Row, R1), Cells(Target(1).Row, R2))) = Rng.Columns.Count Then
  11.             '有資料數的儲存格=Rng的總欄數
  12.             Cells(Target(1).Row + 1, R1).Select  '選擇下一列的第1欄
  13.         End If
  14.        End If
  15. End Sub
複製代碼

TOP

回復 3# yueh0720
試試看
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2.     Dim Rng As Range, R1%, R2%
  3.     Set Rng = Range("B2").CurrentRegion
  4.     'CurrentRegion以任意空白列及空白欄的組合為邊界的連續範圍
  5.     If Not Application.Intersect(Target(1), Rng) Is Nothing Then   'Rng的範圍包含Target(1)的位址
  6.     'Target(1) ->工作表所選擇範圍的第一個儲存格
  7.         If Target(1).Row = Rng.Row Then Exit Sub    ' 在第一列
  8.         R1 = Rng.Column                             '第一欄的   欄數
  9.         R2 = Rng(1, Rng.Columns.Count).Column       '最後一欄的 欄數
  10.         If Application.CountA(Range(Cells(Target(1).Row, R1), Cells(Target(1).Row, R2))) = Rng.Columns.Count Then
  11.             '有資料數的儲存格=Rng的總欄數
  12.             Cells(Target(1).Row + 1, R1).Select  '選擇下一列的第1欄
  13.         Else      '有資料數的儲存格<>Rng的總欄數
  14.             If Target(1) <> "" Then
  15.                 R2 = IIf(Target(1).Column = R2, R1, Target(1).Column + 1)
  16.                 '如為最後一欄的 返回第1欄 否往右一欄
  17.                 Cells(Target(1).Row, R2).Select  '往右一欄
  18.             End If
  19.         End If
  20.        End If
  21. End Sub
複製代碼

TOP

回復 5# yueh0720
你不附上檔案,我會一直在瞎子摸象的

TOP

回復 7# yueh0720
這樣的問題,如果自己不去了解程式碼,沒人可以一再的幫你更改

你1樓的表單開頭在B2 -> Set Rng = Range("B2").CurrentRegion     'CurrentRegion以任意空白列及空白欄的組合為邊界的連續範圍
那你想資料表格,多一個座位號碼在A欄 這程式碼要改哪裡?

TOP

        靜思自在 : 能幹不幹,不如苦幹實幹。
返回列表 上一主題