Microsoft ExcelでVBAを使用して、ブック内のすべてのワークシートの範囲内のセルを追加
この記事では、ワークブック内のすべてのワークシートについて、定義された範囲のセルの合計を計算するカスタム関数を作成します。
この例の生データは、複数のシートで構成されています。各シートには、営業チームのデータが含まれています。これには、営業担当者の名前と、シート名で指定された日付に営業担当者が販売したアイテムの数が含まれます。
販売データは、すべてのワークシートで同じ順序でA6:B16の範囲にあります。
「メイン」シートには、さまざまな営業担当者による販売の合計数が必要です。総売上高を計算するには、ワークブックのすべてのシートから売上高を加算する必要があります。
カスタム関数「SumRangeOfAllSheets」を使用して、さまざまな営業担当者による総売上高を計算しました。カスタム関数「SumRangeOfAllSheets」は、範囲を入力として受け取ります。
ロジックの説明
ワークブック内のすべてのワークシートについて、定義された範囲内のセルの値の合計を計算するカスタム関数「SumRangeOfAllSheets」を作成しました。カスタム関数「SumRangeOfAllSheets」は、範囲を入力として受け取ります。この関数は、すべてのワークシートの定義された範囲のセルに値を追加します。
コードの説明
WorksheetFunction.Sum WorksheetFunctionオブジェクトは、VisualBasicからExcelシート関数にアクセスするために使用されます。 ExcelシートのSUM関数を使用して、範囲内の値を追加しました。
InputRange.Address上記のコードは、「InputRange」範囲オブジェクトによって指定された範囲のアドレスを返すために使用されます。
コードについては以下に従ってください
Option Explicit Function SumRangeOfAllSheets(InputRange As Range) 'Declaring variables Dim i As Integer Dim Total As Long 'Looping through the sheets in the worksheets collection starting from second sheet For i = 2 To Worksheets.Count 'Calculating the sum for specified range of all the sheets Total = Total + WorksheetFunction.Sum(Worksheets(i).Range(InputRange.Address)) Next SumRangeOfAllSheets = Total End Function
このブログが気に入ったら、FacebookやFacebookで友達と共有してください。
皆様からのご意見をお待ちしております。私たちの仕事を改善し、あなたのために改善する方法をお知らせください。 [email protected]までご連絡ください