'========================================================================================= ' 155 複数のシートの値を別のシートに統合する '----------------------------------------------------------------------------------------- '【ヒント】 ' このマクロは、おためし機能の動作用のコードを含んでいます。(概ね下半分) ' ★★★の行またはサブプロシージャーが、タイトル機能に関係するコードです。(概ね上半分) '========================================================================================= ' ◆標準モジュールのコード◆ '----------------------------------------------------------------------------------------- Option Explicit Dim 統合先シート As String '★★★ Dim 統合先セル As String '★★★ Dim 統合元シート1 As String '★★★ Dim 統合元セル範囲1 As String '★★★ Dim 統合元シート2 As String '★★★ Dim 統合元セル範囲2 As String '★★★ Dim 統合元範囲1 As String '★★★ Dim 統合元範囲2 As String '★★★ Dim タイトル As String Dim スタイル As Long Dim メッセージ As String Dim 応答 As Variant '========================================================================================= Private Sub 複数のシートの値を別のシートに統合する() '★★★ 統合元範囲1 = 統合元シート1 & "!" & 統合元セル範囲1 統合元範囲2 = 統合元シート2 & "!" & 統合元セル範囲2 Worksheets(統合先シート).Range(統合先セル).Consolidate _ sources:=Array(統合元範囲1, 統合元範囲2), _ Function:=xlSum End Sub '========================================================================================= '----------------------------------------------------------------------------------------- Sub おためしマクロ() おためしメッセージを表示する ' 統合先シート = "月間" '★★★ 統合先セル = "B2" '★★★ 統合元シート1 = "前半" '★★★ 統合元セル範囲1 = "R2C2:R5C3" '★★★ 統合元シート2 = "後半" '★★★ 統合元セル範囲2 = "R2C2:R5C3" '★★★ 複数のシートの値を別のシートに統合する '★★★ ' おためしメッセージを表示する2 End Sub '----------------------------------------------------------------------------------------- Private Sub おためしメッセージを表示する() Worksheets("月間").Select Range("B2:C5").ClearContents '数式と値をクリアする おためし用に画面でシートを一望できるようにする Windows("155.XLS:2").Activate Worksheets("前半").Select Range("B2:C5").Select '動きをわかりやすくするために選択する タイトル = "500連発 第2弾 サンプルマクロ" スタイル = 64 'vbInformation メッセージ = "右上が「前半」シートで、" & Chr(13) & Chr(13) & _ "B2:C5 の値が統合されます" 応答 = MsgBox(メッセージ, スタイル, タイトル) ' Windows("155.XLS:1").Activate Worksheets("後半").Select Range("B2:C5").Select メッセージ = "右下が「後半」シートで、" & Chr(13) & Chr(13) & _ "B2:C5 の値が統合されます" 応答 = MsgBox(メッセージ, スタイル, タイトル) ' Windows("155.XLS:3").Activate Worksheets("月間").Select Range("B2:C5").Select メッセージ = "左側の「月間」シートの B2:C5セルへ、" & Chr(13) & Chr(13) & _ "「前半」シートと 「後半」シートの値を、統合します" 応答 = MsgBox(メッセージ, スタイル, タイトル) End Sub '----------------------------------------------------------------------------------------- Sub おためし用に画面でシートを一望できるようにする() ActiveWindow.WindowState = xlMaximized 'ウィンドウを最大化する Sheets("後半").Select ActiveWindow.NewWindow '新しいウィンドウを開く Sheets("前半").Select ActiveWindow.NewWindow Windows.Arrange ArrangeStyle:=xlTiled 'ウィンドウを並べて表示する Worksheets("月間").Activate End Sub '----------------------------------------------------------------------------------------- Private Sub おためしメッセージを表示する2() メッセージ = "終ります" 応答 = MsgBox(メッセージ, スタイル, タイトル) ' ActiveWindow.Close Windows("155.XLS:2").Activate ActiveWindow.Close Worksheets("Title").Select Range("P17").Select 'カーソルを定位置へ移動する ActiveWindow.WindowState = xlMaximized End Sub '----------------------------------------------------------------------------------------- Sub Auto_Close() Application.DisplayAlerts = False '閉じる際に確認メッセージを出さない ActiveWorkbook.Close '現在開いているブックを閉じる End Sub '-----------------------------------------------------------------------------------------