
月次の品目別内示数量を、統合機能を用いて、その変動数量や変動率を集計しています。
この品目は、新たに追加されたり廃止されたりと、その月々で変動します。
品目数が不変であれば、統合元範囲の設定は、例えば$A$2:$B$500のように
記述すればよいのですが、変動する場合の構文はどのように記述すればよいか、
わかりません。
アクティブセルを指定する、以下のような構文では、
参照が正しくないというエラーとなります。
Range("A2:B2").Select
Selection.CurrentRegion.Select
どなたか、ご教示願います。
No.2ベストアンサー
- 回答日時:
統合(Consolidate)機能というのは、MS-DOS時代に残していた機能をそのまま受け継いだので、R1C1 形式だけでしか受け付けません。
「統合」は、今となっては古い名残を残したままになっています。メリットは、別のブックにあっても、ブックを開かなくてもよい点でしょう。(記憶違いかもしれませんが)しかし、これは、左1列目だけで、その次の項目が抜け落ちるのが欠点ですね。今回は、2列しかありませんから、問題はありませんが。
>先月のデータがA2:B500、今月のデータがD2:E600に入力されていた場合、
1行目は使わないのかな?
Sub ConsolidateMethod()
Dim a As Range
Dim b As String
Dim c As String
With Worksheets("Sheet1")
b = .Range("A2", .Cells(Rows.Count, 1).End(xlUp).Offset(, 1)) _
.Address(1, 1, xlR1C1, True)
c = .Range("D2", .Cells(Rows.Count, "D").End(xlUp).Offset(, 1)) _
.Address(1, 1, xlR1C1, True)
End With
'貼り付け先(直接でもよいです。a,b,c と変数をしたので、単にこう書いたまで)
Set a = Worksheets("Sheet3").Range("A1")
a.Consolidate Sources:= _
Array(b, c), _
Function:=xlSum, _
TopRow:=True, _
LeftColumn:=True
End Sub
ちなみに、
>この質問は特に50代・男性の方
は、ご質問者の年齢層?なら、良く知っている機能なのかもしれませんね。
VBAマクロですと、実際は、CountIf関数などで作ってしまうことが多いです。
ご親切なアドバイス、ありがとうございました。
教えていただいた構文で、無事に解決しました。
これを基に、VBAの技に磨きをかけていきます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
9月17日でサービス終了らし...
-
エクセル ドロップダウンリスト...
-
特定のセルだけ結果がおかしい...
-
エクセル
-
エクセルのdatedif関数を使って...
-
【マクロ】アクティブセルの時...
-
【関数】同じ関数なのに、エラ...
-
エクセルの循環参照、?
-
【マクロ】A列にある、日付(本...
-
【マクロ】3行に上から下に並...
-
【マクロ】EXCELで読込したCSV...
-
【マクロ】WEBシステムから保存...
-
iPhoneのExcelアプリで、別のシ...
-
【エクセル】期限アラートについて
-
Excelファイルを開くと私だけVA...
-
Excelの新しい空白のブックを開...
-
Excelについての質問です 並べ...
-
マクロ・VBAで、当該ファイルの...
-
VBA チェックボックスをオーバ...
-
派遣会社とかハローワークとか...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelファイルを開くと私だけVA...
-
エクセルについてどう関数を使...
-
マクロ・VBAで、当該ファイルの...
-
エクセルのセルに画像は埋め込...
-
エクセルで、一部のセルだけ固...
-
【マクロ、画像あり】A表かB表...
-
エクセルでカウントする
-
【マクロ】コードを少しでも、...
-
VBA_日時のソート
-
エクセルで教えてください。 例...
-
エクセル 月間シフト表で曜日ご...
-
セルの左に余白を付ける
-
エクセル
-
エクセルについて教えてください
-
2枚のエクセル表で数字をマッチ...
-
ExcelのIF関数との組み合わせの...
-
エクセルのファイルのコピーを...
-
エクセルで二つのブックの違い...
-
空白処理を空白に
-
Excelのチェックボックスについ...
おすすめ情報
早速のアドバイス、ありがとうございました。
しかし、難しくて理解できません。
先月のデータがA2:B500、今月のデータがD2:E600に入力されていた場合、
このような構文になります。
Selection.Consolidate Sources:=Array("[Book1]Sheet1!R2C1:R500C2", _
"[Book1]Sheet1!R2C4:R600C5"), Function:=xlSum, TopRow:=True, _
LeftColumn:=True, CreateLinks:=False
このR1C1形式の構文をどのように記述すれば、行数が変動する値に追従できるのでしょうか。
ご面倒ですが、再度ご教授のほど、よろしくお願いします。