'========================================================================================= ' 498 名簿管理 '----------------------------------------------------------------------------------------- '【ヒント】 ' このマクロは、おためし機能の動作用のコードを含んでいます。(概ね下半分) ' ★★★の行またはサブプロシージャーが、タイトル機能に関係するコードです。(概ね上半分) '========================================================================================= ' ◆標準モジュールのコード◆ '----------------------------------------------------------------------------------------- Option Explicit Dim タイトル As String Dim スタイル As Long Dim メッセージ As String Dim 応答 As Variant '========================================================================================= Sub 検索ボタン_click() '検索シートの検索ボタンが押された時のマクロ Sheets("検索").Select '抜き出し結果のシート Range("H1:J1").ClearContents 'テキストボックスの値格納セルをクリア Range("A2:F6").ClearContents '検索結果の格納セルをクリア UserForm1.Show '★★★ ユーザーフォームを表示する End Sub '----------------------------------------------------------------------------------------- Sub 終了ボタン_click() '検索シートの終了ボタンが押された時のマクロ ActiveWindow.WindowState = xlMaximized Application.DisplayAlerts = False ActiveWorkbook.Close End Sub '========================================================================================= '----------------------------------------------------------------------------------------- Sub おためしマクロ() おためしメッセージを表示する End Sub '----------------------------------------------------------------------------------------- Private Sub おためしメッセージを表示する() Worksheets("検索").Select ActiveWindow.NewWindow Worksheets("名簿").Select Windows.Arrange ArrangeStyle:=xlHorizontal Windows("498.XLS:1").Activate Range("A2").Select 'カーソルを定位置へ移動する ' タイトル = "500連発 第2弾 サンプルマクロ" スタイル = 64 'vbInformation メッセージ = "[OKボタン]をクリックしてから、" & Chr(13) & Chr(13) & _ "ワークシート上の [検索ボタン]を、クリックしてください" 応答 = MsgBox(メッセージ, スタイル, タイトル) End Sub '----------------------------------------------------------------------------------------- Sub Auto_Close() Application.DisplayAlerts = False '閉じる際に確認メッセージを出さない ActiveWorkbook.Close '現在開いているブックを閉じる End Sub '----------------------------------------------------------------------------------------- '========================================================================================= ' ◆UserForm1のコード◆ '----------------------------------------------------------------------------------------- Private Sub CommandButton1_Click() 'OKボタンがクリックされたときに実行するマクロ Range("H1") = TextBox1.Text '会員番号をセルに格納 Range("I1") = TextBox2.Value '名前をセルに格納 Range("J1") = TextBox3.Value 'TELをセルに格納 名前 = Range("I1") '名前を取り出す If 名前 <> "" Then '名前がヌルでなければ Sheets("一時").Select '一時的なシート Cells.Clear 'すべてクリア Sheets("名簿").Select '会員名簿 Range("A2").Select Selection.AutoFilter 'オートフィルターをリセット Selection.AutoFilter Field:=2, Criteria1:=名前 Selection.CurrentRegion.Copy 'アクティブセル領域をコピー Sheets("一時").Select '一時的なシート Range("A1").PasteSpecial Paste:=xlValues '値を貼り付け 下 = Range(Cells(1, 1), Cells(1, 1)).End(xlDown).Row '下端検出 Range(Cells(2, 1), Cells(下, 6)).Copy '検出した範囲を選択してコピー Sheets("検索").Select Range("A2").PasteSpecial Paste:=xlValues '値を貼り付け Sheets("名簿").Select Selection.AutoFilter Sheets("検索").Select Range("A2").Select End If Unload Me End Sub '=========================================================================================