![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
月次の品目別内示数量を、統合機能を用いて、その変動数量や変動率を集計しています。
この品目は、新たに追加されたり廃止されたりと、その月々で変動します。
品目数が不変であれば、統合元範囲の設定は、例えば$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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Excel(エクセル) Excel VBA 空白行があるセル範囲に色を付ける 3 2022/06/13 15:58
- Visual Basic(VBA) Excelのマクロコードについて教えてください。 1 2022/03/27 13:25
- Visual Basic(VBA) Excelのマクロ ブック間である範囲をコピー Workbooks(“a.xlsx“).Sheets 3 2022/05/12 17:02
- Visual Basic(VBA) データのある範囲を選択するVBAについて 2 2022/09/03 00:20
- Excel(エクセル) 余計なお世話的な「入力規則」?対策は? 2 2023/01/14 12:39
- Excel(エクセル) マクロだと数式が表示される 2 2022/09/10 14:48
- Access(アクセス) ACCESS VBA XSQLについて 2 2022/03/30 16:04
- Excel(エクセル) エクセルの数式で教えてください。 1 2023/02/09 14:54
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
◾️Excel VBA 統合について Consolidateメソッドを使用する際、Excelブックを
Visual Basic(VBA)
-
Consolidateの範囲
Visual Basic(VBA)
-
エクセルVBAでConsolidate
Excel(エクセル)
-
-
4
エクセルでエラーが出て困っています。
Excel(エクセル)
-
5
Consolidateメソッドの引数のSource部を自動取得をしたい
Excel(エクセル)
-
6
エクセルVBA 串刺し計算の際、シートをインデックスで指定できますか。
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
IFとIFS関数
-
Excelを無料で使うには? パソ...
-
セルの数を求めたい
-
Excelの表示についての質問
-
再質問です。マクロの修正箇所...
-
データチェックを行うエクセル...
-
エクセルで「ページレイアウト...
-
エクセルの数式バーのフォント...
-
エクセルの関数について教えて...
-
エクセルでセルに標準で入力さ...
-
Microsoft1Officeの互換ソフト...
-
シフト表をエクセルで作るとき...
-
ユーザー定義関数をアドイン登...
-
Excel VBAで全ての矢印を赤色に...
-
VBA Private Sub Worksheet_Cha...
-
2列に入っているデータを1列...
-
Excelに詳しい方! B列が「日...
-
excel2013 MonthDays 関数が使...
-
エクセルのクイックアクセスツ...
-
Excelの数式について教えてくだ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
半角カタカナをヘボン式ローマ...
-
(マクロ)vlookupの元データを同...
-
エクセルで上位バイトのセルと...
-
exselの質問です
-
Excel 大小比較演算子による「...
-
Excel VBについての質問です。
-
エクセルの問題です。絶対値の...
-
非表示列の再表示に失敗
-
職場の人から聞かれており、こ...
-
Excel関数-文字列で自動作成さ...
-
Excelデータをコピペして、ペー...
-
ユーザー定義関数をアドイン登...
-
【マクロ】for next構文について
-
エクセルの日付を編集する
-
【マクロ】VLOOKUPにて参照元に...
-
exselで最小数で並び替える関数
-
libre 表計算ソフトの計算がう...
-
エクセルで表
-
エクセルの表で1年間の曜日を...
-
西暦和暦
おすすめ情報
早速のアドバイス、ありがとうございました。
しかし、難しくて理解できません。
先月のデータが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形式の構文をどのように記述すれば、行数が変動する値に追従できるのでしょうか。
ご面倒ですが、再度ご教授のほど、よろしくお願いします。