Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


42174 / 76732 ←次へ | 前へ→

【39629】Re:折りたたみをきっかけにマクロ実行
発言  ichinose  - 06/6/27(火) 19:07 -

引用なし
パスワード
   ▼ひげくま さん:
みなさん、こんばんは。

>
>複数行をグループ化した状態で、折りたたんだり展開したときに、マクロを実行したいと思っているのですが、何か良い方法はないでしょうか。

こんな方法を見つけました。


まず、新規ブックで試してみてください。

新規ブックのSheet1というシートにグループの設定を行いましょう。

・シートの10行から、20行を選択した状態で
 「データ」---「データとアウトラインの設定」--「グループ化」と
 クリックしてください。これで10行目から、20行目がグループ化できました。

・試しに左側上の「1」をクリックで「10行から20行」が非表示になり、
 「2」を」クリックで表示されますね?

・ここから、準備です。

・名前の定義を行います。
 セルA1を選択して、「挿入」--「名前」---「定義」と
 クリックして「名前の定義」ダイアログを表示させます。

・参照範囲として「=GET.CELL(17,Sheet1!$A$10)」と指定してください
 (両端の「」は除く)

・名前は「hh」とします(両端の「」は除く)。

・上記の入力を行って「OK」をクリックしてください。
 これで名前の登録ができました。


・次に「コントロールツールボックス」のテキストボックスを配置します。
 どこでもよいですが、セルC1におさまる程度に作ってください。

・名前はTextbox1とします。
 プロパティボックスでVisibleプロパティをFalseに設定してください
 デザイン終了(三角定規のアイコンクリック)でテキストボックスが消えることを
 確認してください。
・Sheet1のモジュールには

'===============================================================
Private Sub TextBox1_Change()
  With TextBox1
    If CBool(.Text) Then
      MsgBox "hide"
    Else
      MsgBox "visible"
      End If
    End With
End Sub

というイベントプロシジャーを記述します。


・標準モジュールに
'==============================================================
Function grpopn(hh As Double) As Boolean
  grpopn = Not CBool(hh)
  ActiveSheet.OLEObjects("textbox1").Object.Text = CStr(grpopn)
End Function

というFunctionを記述します。


・最後です。セルA1を選択して、条件付書式を設定します。
 「書式」---「条件付書式」とクリックして「条件付書式の設定」ダイアログを
 表示させてください。

・条件として「数式が」を選択します。

・数式として、「=grpopn(hh)」を指定してください(両端の「」は除く)。

・書式は何も指定せずにOKをクリックしてください。

これで完了です。

これで、左上の「1」のクリックで「hide」
       「2」のクリックで「visible」と表示されます。

うまくいかないときは、名前の定義や条件付書式の数式が
正しく定義されているか確認してみてください。


上記の操作でExcel2002で確認しましたが、動作確認が出来ています。

試してみてください。
1 hits

【39586】折りたたみをきっかけにマクロ実行 ひげくま 06/6/27(火) 8:56 質問
【39604】Re:折りたたみをきっかけにマクロ実行 sin 06/6/27(火) 13:55 発言
【39607】Re:折りたたみをきっかけにマクロ実行 ひげくま 06/6/27(火) 14:18 お礼
【39625】Re:折りたたみをきっかけにマクロ実行 sin 06/6/27(火) 18:10 発言
【39605】Re:折りたたみをきっかけにマクロ実行 Jaka 06/6/27(火) 14:03 発言
【39608】Re:折りたたみをきっかけにマクロ実行 ひげくま 06/6/27(火) 14:29 発言
【39609】Re:折りたたみをきっかけにマクロ実行 Jaka 06/6/27(火) 14:40 発言
【39610】Re:折りたたみをきっかけにマクロ実行 ひげくま 06/6/27(火) 14:45 お礼
【39627】Re:折りたたみをきっかけにマクロ実行 sin 06/6/27(火) 18:50 発言
【39628】Re:折りたたみをきっかけにマクロ実行 ひげくま 06/6/27(火) 18:55 お礼
【39629】Re:折りたたみをきっかけにマクロ実行 ichinose 06/6/27(火) 19:07 発言
【39631】Re:折りたたみをきっかけにマクロ実行 ひげくま 06/6/27(火) 23:02 お礼
【39642】Re:折りたたみをきっかけにマクロ実行 ichinose 06/6/28(水) 7:23 発言
【39646】Re:折りたたみをきっかけにマクロ実行 ひげくま 06/6/28(水) 9:10 発言
【39691】Re:折りたたみをきっかけにマクロ実行 ichinose 06/6/29(木) 10:24 発言
【39694】Re:折りたたみをきっかけにマクロ実行 ひげくま 06/6/29(木) 10:43 お礼
【39699】Re:折りたたみをきっかけにマクロ実行 ichinose 06/6/29(木) 11:53 発言
【39734】Re:折りたたみをきっかけにマクロ実行 ichinose 06/6/30(金) 7:18 発言

42174 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free