返回列表 上一主題 發帖

[發問] 儲存格鎖定遇到的問題

[發問] 儲存格鎖定遇到的問題

各位前輩好,我最近遇到客人跟我提,希望EXCEL儲存格只要是空白的地方才能輸入,且只能輸入一次,存檔後就不能修改的需求,
上網翻找無意中發現VBA可以達到這個需求,並找到了這段碼

Dim mm, nn
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If nn > 1 Then
    Selection = mm
    Application.EnableEvents = True
    Exit Sub
End If
If mm <> "" Then Target = mm
Application.EnableEvents = True
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
nn = Target.Count
mm = Target
End Sub

經測試後確實可以達到客人所需的限制,但是發生了一個問題
就是若儲存格式單格的話,沒問題。
若儲存格是合併儲存格,就沒有效用,所以想請教版上的前輩是否可以協助看一下要如何修改這程式碼,
感激不盡。

Microsoft Excel 工作表.rar (13.51 KB)

回復 1# tonyltt

只差小許
  1.    Dim mm As Variant, nn
  2. Private Sub Worksheet_Change(ByVal Target As Range)
  3. Dim bln
  4. Application.EnableEvents = False
  5. If nn > 1 Then
  6.     bln = mm(1, 1) <> ""
  7. Else
  8.     bln = mm <> ""
  9. End If
  10. If bln Then
  11.     Target.Value = mm
  12. End If
  13. Application.EnableEvents = True
  14. End Sub

  15. Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  16. nn = Target.Count
  17. mm = Target.Value
  18. End Sub
複製代碼
懂得發問,答案就會在其中

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

TOP

謝謝kimbal 前輩熱心替我解惑!!!!感恩~感恩!!!!:)

TOP

        靜思自在 : 君子立恆志,小人恆立志。
返回列表 上一主題