[[20141115180341]] 『列の表示の切替え』(MEGU) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『列の表示の切替え』(MEGU)

先ほど一つのボタンでの「表示/非表示」の切替えは教えていただいてできたのですが・・・。
一つのボタンで順次切替えってできるのでしょうか?
「列」なのですが、一つのボタンで、「G-R 非表示」⇒「G-AD 非表示」⇒「全表示」
⇒「G-R 非表示」・・・といったように列の表示を切り替えたいのですが。
難しいでしょうか?

よろしくお願いします。

< 使用 Excel:Excel2010、使用 OS:Windows7 >


 こんな感じ?

 Private Sub CommandButton1_Click()
    Static myClick As Long
    Columns("g:ad").Hidden = False
    myClick = myClick + 1
    If myClick > 2 Then myClick = 0
    Select Case myClick
        Case 1: Columns("g:r").Hidden = True
        Case 2: Columns("g:ad").Hidden = True
    End Select
End Sub[/code]
(seiya) 2014/11/15(土) 18:57
 typo訂正 19:46

こんなのでも。

 Sub test()

    With ActiveSheet.Buttons(Application.Caller)
        Select Case .Caption
            Case "G-R 非表示に"
                Columns("G:R").Hidden = True
                .Caption = "G-AD 非表示に"         
            Case "G-AD 非表示に"
                Columns("G:AD").Hidden = True
                .Caption = "全表示に"
            Case Else
                Columns("G:AD").Hidden = False
                .Caption = "G-R 非表示に"
        End Select
    End With

 End Sub

(マナ) 2014/11/15(土) 19:48


こんばんは。
ありがとうございました。

(マナ)さんのやり方でやったらできました。
全表示の手前に「G-BB非表示」と追加したいのですが、どこに入れたらよいのでしょうか?
素人ですみません。

(MEGU) 2014/11/15(土) 20:17


★の行が追加した部分です

 Sub test2()

    With ActiveSheet.Buttons(Application.Caller)
        Select Case .Caption
            Case "G-R 非表示に"
                Columns("G:R").Hidden = True
                .Caption = "G-AD 非表示に"
            Case "G-AD 非表示に"
                Columns("G:AD").Hidden = True
                .Caption = "G-BB非表示に"       '★
            Case "G-BB非表示に"                 '★
                Columns("G:BB").Hidden = True   '★
                .Caption = "全表示に"
            Case Else
                Columns("G:BB").Hidden = False   '★2
                .Caption = "G-R 非表示に"
        End Select
    End With

 End Sub

(マナ) 2014/11/15(土) 20:41


できましたぁ〜!!!
どうもありがとうございました^^
(MEGU) 2014/11/15(土) 20:56

 参考程度に

 Sub test2()
    Dim x As Boolean, y As Boolean, z As Boolean
    Dim cap As Variant
    cap = Array("g-r", "g-ad", "g-bb", "表示")
    x = Columns("g:r").Hidden
    y = Columns("s:ad").Hidden
    z = Columns("ae:bb").Hidden
    Columns("g:r").Hidden = Not (y And z)
    Columns("s:ad").Hidden = x Xor z
    Columns("ae:bb").Hidden = (Not z) And (x And y)
    With ActiveSheet.Buttons(Application.Caller)
       .Caption = cap((Abs(x + y + z) + 1) Mod 4)
    End With
 End Sub

 ちょっと 算数っぽいですけど・・。

 もっともこれを 仕事で請け負ったとしたら、このコードには しませんけどね

 わかりづらいし、もう一個追加されたら、結構面倒ですし・・・。

 配列は、使うと思いますけどねえ

(ichinose) 2014/11/15(土) 21:22


ごめんなさい。1箇所修正ありました。★2の行です。

(マナ) 2014/11/15(土) 21:28


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.