Sheet1(前月データ)
Sheet2(今月データ)
Sheet3(集計)
Sheet1,2にはA2行目からAA1000までデータが入っています。(列数、行数は毎月変わります)
やりたいことは、VBAで(毎月列数行数は変わってしまう可能性があります)
前月、今月を集計シートに一行毎にコピーし、その下の行に差をもとめたいです。
VBAを書ける同僚が、休暇を取っていて非常に困っています、
どうぞよろしくおねがいします。
【集計シート】
A B C D E F G
1
2 Sheet1(前月データ)2行目をコピー貼り付け
3 Sheet2(今月データ)2行目をコピー 貼り付け
4 前月-今月で差分を求める数式を入れたい
5 空行
6 Sheet1(前月データ)3行目をコピー貼り付け
7 Sheet2(今月データ)3行目をコピー 貼り付け
8 前月-今月で差分を求める数式を入れたい
9 空行
。。。最終行まで繰り返し
No.1ベストアンサー
- 回答日時:
こんにちは!
Sheet1のデータからSheet2の各列のデータをマイナスしたい!というコトですね。
両Sheetとも同じ行数・同じ列数だという大前提になりますが、一例です。
そして
>前月-今月で差分を求める数式を入れたい
というコトなので、計算結果ではなく、計算式のままにしておきたい!というコトだとしての一例です。
標準モジュールにしてください。
Sub Sample1()
Dim i As Long, j As Long
Dim cnt As Long, myRow As Long
Dim lastCol As Long
Dim wS1 As Worksheet, wS2 As Worksheet
Set wS1 = Worksheets("Sheet1")
Set wS2 = Worksheets("Sheet2")
Application.ScreenUpdating = False
With Worksheets("Sheet3")
.Cells.ClearContents
wS1.Rows(1).Copy
.Range("A1").PasteSpecial Paste:=xlPasteValues
For i = 2 To wS1.Cells(Rows.Count, "A").End(xlUp).Row
cnt = cnt + 1
myRow = (cnt - 1) * 4 + 2
lastCol = wS1.Cells(i, Columns.Count).End(xlToLeft).Column
For j = 1 To lastCol
.Cells(myRow, j) = wS1.Cells(i, j)
.Cells(myRow + 1, j) = wS2.Cells(i, j)
.Cells(myRow + 2, j).Formula = "=" & .Cells(myRow, j).Address(False, False) & "-" & .Cells(myRow + 1, j).Address(False, False)
Next j
Next i
.Activate
.Range("A1").Select
End With
Application.ScreenUpdating = True
MsgBox "完了"
End Sub
こんな感じではどうでしょうか?m(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelで2行単位のソートの出来...
-
Excelの30個ずつの平均値の出し方
-
エクセルで1列に500行並んだデ...
-
Excel VBA 【QueryTables.Add】...
-
複数の条件に合う行番号を取得...
-
エクセルで、重複データを除外...
-
エクセル あ 1/10 1/11 1/12 1/...
-
エクセルで横並びの複数データ...
-
Excelでデーターが多いので、平...
-
差し込み印刷 «Next Record»に...
-
Countifよりも早く重複数をカウ...
-
エクセルで日付から日にちを削...
-
エクセル2016にて、行挿入&コピ...
-
500行の中から、多い順に抽出す...
-
excel:別シートの値を飛び飛び...
-
エクセルの複数のセルを一括で...
-
A1セルに入力したら、入力時間...
-
Excelで同じセルに箇条書きをし...
-
お肉の下のシートを煮込んでし...
-
EXCELで○ヶ月を○年○ヶ月に変換...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで日付から日にちを削...
-
エクセルで1列に500行並んだデ...
-
複数の条件に合う行番号を取得...
-
Excelで2行単位のソートの出来...
-
excel:別シートの値を飛び飛び...
-
Excelの30個ずつの平均値の出し方
-
エクセルで、重複データを除外...
-
Excelで2つのデータの突合せを...
-
Countifよりも早く重複数をカウ...
-
VBA 数式を最終行までコピー
-
エクセルで1つの会社名に対して...
-
エクセル2016にて、行挿入&コピ...
-
エクセルで横並びの複数データ...
-
エクセルVBA C列に特定の文字列...
-
VBA 大きなtxtテキストファ...
-
エクセル~空白のセルのある行...
-
500行の中から、多い順に抽出す...
-
不要な行を消したい
-
本日の日付を超えているものを...
-
【Excel】小計単位で並べ替えを...
おすすめ情報