'========================================================================================= ' 181 自動転記するときに手入力分を優先させる '----------------------------------------------------------------------------------------- '【ヒント】 ' このマクロは、おためし機能の動作用のコードを含んでいます。(概ね下半分) ' ★★★の行またはサブプロシージャーが、タイトル機能に関係するコードです。(概ね上半分) '========================================================================================= ' ◆標準モジュールのコード◆ '----------------------------------------------------------------------------------------- Option Explicit Dim タイトル As String Dim スタイル As Long Dim メッセージ As String Dim 応答 As Variant '========================================================================================= Private Sub セルがヌルなら転記する() '★★★ If Sheets("月間表").Cells(2, 3) = "" Then '月間表のC2セルがヌルなら Sheets("月間表").Cells(2, 3) = Sheets("1999-05-02").Cells(2, 1) '"1999-05-02"シートA2を月間表C2へ転記 End If End Sub '========================================================================================= '<コメント> ' "月間表" には自動転記先のシート名を記入する ' "1999-05-02" には自動転記元のシート名を記入する ' (2, 3) には自動転記先のセル番号を記入する(この例はC2セル) ' (2, 1) には自動転記元のセル番号を記入する(この例はA2セル) '----------------------------------------------------------------------------------------- Sub おためしマクロ() おためし用にマルチ画面表示する おためしメッセージを表示する セルがヌルなら転記する '★★★ ' おためしメッセージを表示する2 セルがヌルなら転記する '★★★ マルチ画面表示を戻す End Sub '----------------------------------------------------------------------------------------- Private Sub おためしメッセージを表示する() タイトル = "500連発 第2弾 サンプルマクロ" スタイル = 64 'vbInformation Windows("181.XLS:2").Activate Sheets("1999-05-02").Select Range("A2").Select メッセージ = "左側のシートの A2セルの値は、" & _ Worksheets("1999-05-02").Range("A2").Value & "です" 応答 = MsgBox(メッセージ, スタイル, タイトル) ' Windows("181.XLS:1").Activate Sheets("月間表").Select Range("C2").Select メッセージ = "右側の「月間表」シートの C2セルが Nullならば、" & Chr(13) & _ "左側のシートの A2セルの値をセットします。" & Chr(13) & Chr(13) & _ "Nullでないときは、セットしません" 応答 = MsgBox(メッセージ, スタイル, タイトル) End Sub '----------------------------------------------------------------------------------------- Private Sub おためしメッセージを表示する2() メッセージ = "右側の「月間表」シートの C2セルに値がセットされました。" & Chr(13) & Chr(13) & _ "もう一度、試してみましょう" 応答 = MsgBox(メッセージ, スタイル, タイトル) Worksheets("1999-05-02").Range("A2").Value = 777 おためしメッセージを表示する End Sub '----------------------------------------------------------------------------------------- Sub おためし用にマルチ画面表示する() Worksheets("1999-05-02").Range("A2").Value = 102 '初期値 Worksheets("月間表").Range("C2").Value = "" ActiveWindow.WindowState = xlMaximized Sheets("月間表").Select ActiveWindow.NewWindow '新しいウィンドウを開く Windows.Arrange ArrangeStyle:=xlVertical 'ウィンドウを左右に並べて表示する Sheets("1999-05-02").Select End Sub '----------------------------------------------------------------------------------------- Private Sub マルチ画面表示を戻す() メッセージ = "画面を戻します" 応答 = MsgBox(メッセージ, スタイル, タイトル) ' Windows("181.XLS:2").Close Sheets("Title").Select ActiveWindow.WindowState = xlMaximized End Sub '----------------------------------------------------------------------------------------- Sub Auto_Close() Application.DisplayAlerts = False '閉じる際に確認メッセージを出さない ActiveWorkbook.Close '現在開いているブックを閉じる End Sub '-----------------------------------------------------------------------------------------