プロが教えるわが家の防犯対策術!

エクセルでマクロを使用し、行の表示・非表示をしたいと
考えております。
たとえば、1~50行目まで文字が入力されているシートがあり、
あるボタンを押すと10~20行目だけ
表示されるといったことがしたいのですが、
どのようにしたらよいかどなたかおしえていただけないでしょうか?
よろしくお願いします。

A 回答 (1件)

>あるボタンを押すと



「あるボタン」 が問題なんですが、ここでは、問題の少ない方法の、該当のシートの適当なところに、「ActiveX の 「コマンド ボタン」 を貼り付けて、このボタンを押すたびに 表示 - 非表示 を切り替えるようにしましょう。

失礼ながら、質問者様がマクロ初心者だとして説明していきます。

(1) 表示 - 非表示 を切り替えたいページを開きます。
(2) Visual Basic で、デザインモードにします。
(3) Excel2003以前 : コントロールツールボックスの 「コマンドボタン」 を選択し、
  Excel2007 : コントロールの挿入で、ActiveXの「コマンドボタン」を選択し、
  シートの上の方の邪魔にならないところに貼り付けます。
(4) ボタンを選択し、右クリックで、プロパティを開きます。
(5) 「全体」タブを選択し、(オブジェクト名) 欄に 「表示切替」と書き込みます。
(6) 「Caption」 欄に、「表示」と書き込みます。
(7) ボタンを選択し、右クリックで、「コードの表示」 を開きます。
(8) 「Private Sub 表示切替_Click()
   End Sub」 の場所に、次のコードをコピペしてください。

Private Sub 表示切替_Click()
  Dim rFm As Long, rTo As Long

  rFm = 10
  rTo = 20

  If 表示切替.Caption = "表示" Then
    Range(Rows(rFm), Rows(rTo)).EntireRow.Hidden = True
    表示切替.Caption = "非表示"
  Else
    Range(Rows(rFm), Rows(rTo)).EntireRow.Hidden = False
    表示切替.Caption = "表示"
  End If

  Selection.Select

End Sub

(9) Visual Basic のデザインモードをクリックし元に戻します。

これで、ボタンをクリックする毎に、 表示 - 非表示 が繰り返されます。

尚、ボタンの文字は、今の状態を表示しています。 逆したい場合は、コード及びプロパティの 「Caption」 の "表示" "非表示" を入れ替えてください。
プロシジャー名は、解り易いように日本語にしましたが、なるべく英語にした方がトラブルは少ないようです。
    • good
    • 1

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!