返回列表 上一主題 發帖

自動隱藏和顯示

自動隱藏和顯示

各位大大:

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

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

TOP

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

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

TOP

回復 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
複製代碼
感恩的心......(在麻辣家族討論區.用心學習會有進步的)
但資源無限,後援有限,  一天1元的贊助,人人有能力.

TOP

        靜思自在 : 【蒙蔽的自由】人常在什麼都可以自由自在的時候,卻被這種隨心所欲的自由蒙蔽,虛擲時光而毫無覺知。
返回列表 上一主題