Board logo

標題: [發問] 儲存格鎖定遇到的問題 [打印本頁]

作者: tonyltt    時間: 2013-4-12 11:05     標題: 儲存格鎖定遇到的問題

各位前輩好,我最近遇到客人跟我提,希望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

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

[attach]14641[/attach]
作者: kimbal    時間: 2013-4-13 00:20

回復 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
複製代碼

作者: tonyltt    時間: 2013-4-15 09:30

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




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)