'========================================================================================= ' 393 リストボックスの表示項目を設定・クリアする '----------------------------------------------------------------------------------------- '【ヒント】 ' このマクロは、おためし機能の動作用のコードを含んでいます。(概ね下半分) ' ★★★の行またはサブプロシージャーが、タイトル機能に関係するコードです。(概ね上半分) '========================================================================================= ' ◆標準モジュールのコード◆ '----------------------------------------------------------------------------------------- Option Explicit Dim 表示範囲 As String '◆◆◆ Dim シート名 As String Dim リストボックス名 As String Dim リンクセル As String Dim タイトル As String Dim スタイル As Long Dim メッセージ As String Dim 応答 As Variant '========================================================================================= Private Sub リストボックスの表示項目を設定クリアする() '◆◆◆ 書き方11 '書き方11を使っているが、ほかの書き方でもよい End Sub '========================================================================================= ' 書き方1〜3は、ワークシートがアクティブでなくても実行可能 '---------------------------------------------------------------------------------------- Sub 書き方1() Worksheets("Title").ListBoxes(1).ListFillRange = "管理表!A2:A4" End Sub '---------------------------------------------------------------------------------------- Private Sub 書き方2() Worksheets("Title").DrawingObjects("リスト 1").ListFillRange = "管理表!A2:A4" End Sub '---------------------------------------------------------------------------------------- Private Sub 書き方3() Worksheets("Title").DrawingObjects("リスト 1").Select With Selection .ListFillRange = "管理表!A2:A4" .LinkedCell = "呼出!$A$2" End With End Sub '========================================================================================= ' 書き方4〜5は、ワークシートがアクティブなら実行可能 '---------------------------------------------------------------------------------------- Private Sub 書き方4() ActiveSheet.ListBoxes(1).ListFillRange = "管理表!A2:A4" End Sub '---------------------------------------------------------------------------------------- Private Sub 書き方5() ActiveSheet.DrawingObjects("リスト 1").ListFillRange = "管理表!A2:A4" End Sub '---------------------------------------------------------------------------------------- Private Sub 書き方6() ActiveSheet.DrawingObjects("リスト 1").Select With Selection .ListFillRange = "管理表!A2:A4" .LinkedCell = "呼出!$A$2" End With End Sub '========================================================================================= ' 書き方11〜13は、書き方1〜3を変数で記述したい場合 '---------------------------------------------------------------------------------------- Private Sub 書き方11() シート名 = "Title" 'リストボックスがあるシートの名前 Worksheets(シート名).ListBoxes(1).ListFillRange = 表示範囲 End Sub '---------------------------------------------------------------------------------------- Private Sub 書き方12() シート名 = "Title" リストボックス名 = "リスト 1" 'リストボックスの名前 Worksheets(シート名).DrawingObjects(リストボックス名).ListFillRange = 表示範囲 End Sub '---------------------------------------------------------------------------------------- Private Sub 書き方13() シート名 = "Title" リストボックス名 = "リスト 1" リンクセル = "呼出!$A$2" Worksheets(シート名).DrawingObjects(リストボックス名).Select With Selection .ListFillRange = 表示範囲 .LinkedCell = リンクセル .Display3DShading = True End With End Sub '========================================================================================= '----------------------------------------------------------------------------------------- Sub おためしマクロ() Worksheets("Title").Select Range("P17").Select 'カーソルを定位置へ移動する ' 表示範囲 = "" '◆◆◆ 変数「表示範囲」にNullをセットする リストボックスの表示項目を設定クリアする '◆◆◆ おためしメッセージを表示する ' 表示範囲 = "管理表!A2:A4" '◆◆◆ 変数「表示範囲」にセットする リストボックスの表示項目を設定クリアする '◆◆◆ おためしメッセージを表示する2 End Sub '----------------------------------------------------------------------------------------- Private Sub おためしメッセージを表示する() タイトル = "500連発 第2弾 サンプルマクロ" スタイル = 64 'vbInformation メッセージ = "現在、表示項目がクリアされているので、" & Chr(13) & Chr(13) & _ "リストボックスには何も映っていません" 応答 = MsgBox(メッセージ, スタイル, タイトル) End Sub '----------------------------------------------------------------------------------------- Private Sub おためしメッセージを表示する2() メッセージ = "表示項目を設定しました" 応答 = MsgBox(メッセージ, スタイル, タイトル) End Sub '----------------------------------------------------------------------------------------- Sub Auto_Close() Application.DisplayAlerts = False '閉じる際に確認メッセージを出さない ActiveWorkbook.Close '現在開いているブックを閉じる End Sub '-----------------------------------------------------------------------------------------