Board logo

標題: 自動隱藏活頁薄 [打印本頁]

作者: mdr0465    時間: 2021-11-5 17:32     標題: 自動隱藏活頁薄

各位大大

請問如何可以在sheets "HS BANK BOOK #395" 的C3 儲存格輸入"open" 就可以自動將"PV,RV,JV,COA"的工作表自動浮現,
如果C3 儲存格不是"open"的字就會自動非常隱藏?

謝謝
作者: 准提部林    時間: 2021-11-6 11:23

Private Sub Worksheet_Change(ByVal Target As Range)
Dim xS As Worksheet, V
With Target
     If .Address <> "$C$3" Then Exit Sub
     V = xlSheetVeryHidden
     If UCase(.Value) = "OPEN" Then V = xlSheetVisible
     Application.ScreenUpdating = False
     For Each xS In Sheets(Array("PV", "RV", "JV", "COA"))
         If xS.Visible <> V Then xS.Visible = V
     Next
End With
End Sub
作者: mdr0465    時間: 2021-11-6 18:16

本帖最後由 mdr0465 於 2021-11-6 18:18 編輯

回復 2# 准提部林

准提部,師兄你好

謝謝你的回覆,

當我輸入"open" 是沒有問題可以隱藏工作表, 但當我在儲存格沒有"open"的文字時就會出現error 請問怎樣可以修改呢?

Private Sub Worksheet_Change(ByVal Target As Range)
Dim xS As Worksheet, V
With Target
     If .Address <> "$C$1" Then Exit Sub
     V = xlSheetVeryHidden
     If UCase(.Value) = "OPEN" Then V = xlSheetVisible
     Application.ScreenUpdating = False
     For Each xS In Sheets(Array("PV", "RV", "JV", "COA"))
         If xS.Visible <> V Then xS.Visible = V  ' 問題出現在這一句
     Next
End With
End Sub



謝謝
作者: 准提部林    時間: 2021-11-6 19:35

回復 3# mdr0465

Private Sub Worksheet_Change(ByVal Target As Range)
Dim xS As Worksheet, V
With Target
     If .Address <> "$C$1" Then Exit Sub
     V = 2
     If UCase(.Value) = "OPEN" Then V = -1
     Application.ScreenUpdating = False
     For Each xS In Sheets(Array("PV", "RV", "JV", "COA"))
         If xS.Visible <> V Then xS.Visible = V  ' 問題出現在這一句
     Next
End With
End Sub
作者: mdr0465    時間: 2021-11-6 22:55

回復 4# 准提部林

准提部林, 你好

可以了, 謝謝你幫忙
作者: mdr0465    時間: 2021-11-7 16:11

回復 4# 准提部林

准提部林,你好
如果我想用同一方法, 但是想將"C3:C100" 的儲存格內里如有數字輸入就將不夠7位數目字的儲存格, 就算動將數字前面補"0" 可以怎樣修改呢?

比如"1233" >>>"0001233"

謝謝
作者: 准提部林    時間: 2021-11-7 17:51

回復 6# mdr0465


格式設成 0000000 不可以嗎?
作者: mdr0465    時間: 2021-12-7 11:38

回復  mdr0465

Private Sub Worksheet_Change(ByVal Target As Range)
Dim xS As Worksheet, V
With  ...
准提部林 發表於 2021-11-6 19:35


准提部林,你好
為何我過了一段日子再開啟會失效呢?
作者: samwang    時間: 2021-12-7 12:58

回復 8# mdr0465

有密碼,無法得知問題,謝謝
作者: mdr0465    時間: 2021-12-7 16:55

回復 9# samwang


Samwang 師兄
請幫忙查看,謝謝
作者: samwang    時間: 2021-12-7 17:47

回復 10# mdr0465

是如下那種功能需求嗎? 請測試看看,謝謝

Private Sub Worksheet_Change(ByVal Target As Range)
Dim xS As Worksheet, V
With Target
    If Target.Address = "$D$1" Then
        If UCase(.Value) = "OPEN" Then V = 1 Else V = 0
        For i = 1 To Sheets.Count
            With Sheets(i)
                If .Name = "PV" Or .Name = "RV" Or .Name = "JV" Or .Name = "COA" Then
                    .Visible = V
                End If
            End With
        Next
    End If
End With
End Sub
作者: mdr0465    時間: 2021-12-7 21:46

回復 11# samwang


Samwang

可以了, 謝謝你的幫忙




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