'========================================================================================= ' 243 SUMで合計を計算する '----------------------------------------------------------------------------------------- '【ヒント】 ' このマクロは、おためし機能の動作用のコードを含んでいます。(概ね下半分) ' ★★★の行またはサブプロシージャーが、タイトル機能に関係するコードです。(概ね上半分) '========================================================================================= ' ◆標準モジュールのコード◆ '----------------------------------------------------------------------------------------- Option Explicit Dim 合計する範囲 As String '★★★ Dim 合計 As Long '★★★ Dim タイトル As String Dim スタイル As Long Dim メッセージ As String Dim 応答 As Variant Dim バージョン As String '========================================================================================= Private Sub SUMで合計を計算する_Excel95の場合() '★★★ Excel97、98、2000でも動作する 合計 = Application.Sum(Range(合計する範囲)) End Sub '----------------------------------------------------------------------------------------- Private Sub SUMで合計を計算する_Excel97以上の場合() '★★★ Excel95では動作しない 合計 = Application.WorksheetFunction.Sum(Range(合計する範囲)) End Sub '========================================================================================= '----------------------------------------------------------------------------------------- Sub おためしマクロ() おためしメッセージを表示する ' 合計する範囲 = "E9:E13" '★★★ SUMで合計を計算する_Excel95の場合 '★★★ Range("J9").Value = 合計 ' バージョン = Left(Worksheets("Title").Range("L1").Value, 3) If バージョン >= "8.0" Then 'Excel97以上なら 合計する範囲 = "F9:F13" '★★★ SUMで合計を計算する_Excel97以上の場合 '★★★ Range("J10").Value = 合計 End If ' Range("P17").Select 'カーソルを定位置へ移動する End Sub '----------------------------------------------------------------------------------------- Private Sub おためしメッセージを表示する() Worksheets("Title").Select Range("J9:J10").ClearContents 'クリアする Range("E9:E13,J9").Select '動きをわかりやすくするために選択する タイトル = "500連発 第2弾 サンプルマクロ" スタイル = 64 'vbInformation メッセージ = "ワークシート関数の SUM を VBAで使用して、" & Chr(13) & Chr(13) & _ "「りんご」の合計を J9セルに記入します。" & Chr(13) & Chr(13) & _ "Excel97以上では、「バナナ」の合計も J10セルに記入します" 応答 = MsgBox(メッセージ, スタイル, タイトル) End Sub '----------------------------------------------------------------------------------------- Sub Auto_Close() Application.DisplayAlerts = False '閉じる際に確認メッセージを出さない ActiveWorkbook.Close '現在開いているブックを閉じる End Sub '-----------------------------------------------------------------------------------------