Board logo

標題: 自動隱藏和顯示 [打印本頁]

作者: mdr0465    時間: 2016-7-23 23:08     標題: 自動隱藏和顯示

各位大大:

  如果我想設定當[m1] 輸入"11" 時, B欄會隱藏和設定隱藏密碼, 而當[M1] 不是"11"時,B 欄就不會隱藏和受到保護,請問條CODE 應該作樣點寫?? 我試過好多方法都不成...請求各位幫忙
作者: PKKO    時間: 2016-7-24 06:59

回復 1# mdr0465

放到該分頁物件內,不能放到一般的模組內
若不想因為保護而無法輸入,請先將儲存格的保護全部取消鎖定
  1. Private Sub Worksheet_Change(ByVal Target As Range)
  2. If Not Intersect(Target(1), Range("m1")) Is Nothing Then
  3.     If CStr(Range("m1")) = "11" Then
  4.         Columns("B:B").EntireColumn.Hidden = True
  5.         ActiveSheet.Protect Password:="1234", DrawingObjects:=True, Contents:=True, Scenarios:=True
  6.     Else
  7.         ActiveSheet.Unprotect Password:="1234"
  8.         Columns("B:B").EntireColumn.Hidden = False
  9.     End If
  10. End If

  11. End Sub
複製代碼

作者: mdr0465    時間: 2016-8-2 23:01

本帖最後由 mdr0465 於 2016-8-2 23:12 編輯

PKKO 真的謝謝你的回覆, 你的code 真的非常有用,
但如果我想相反做法, 一開始時B欄隱藏,當[m11] 輸入"11"時,B欄就沒有隱藏可以修改, 請問條CODE 應該點寫呢?? 謝謝
作者: GBKEE    時間: 2016-8-12 08:17

回復 3# mdr0465
試試看
  1. Option Explicit
  2. Private Sub Worksheet_Change(ByVal Target As Range)
  3.     If Not Intersect(Target(1), Range("m1")) Is Nothing Then
  4.         If CStr(Range("m1")) = "11" Then
  5.             If Not Columns("B:B").EntireColumn.Hidden Then
  6.                 Columns("B:B").EntireColumn.Hidden = True
  7.                 ActiveSheet.Protect Password:="1234", DrawingObjects:=True, Contents:=True, Scenarios:=True
  8.             End If
  9.         Else
  10.             ActiveSheet.Unprotect Password:="1234"
  11.             Columns("B:B").EntireColumn.Hidden = False
  12.         End If
  13. End If
  14. End Sub
複製代碼





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