シートBにその日のデータを入力し、そのデータをシートAに蓄積していきたいです。
手作業ならば、
1.入力されたシートBのその日のデータをコピー
2.シートAの同じ日付の行を探し、値のみペースト
とするのでしょうが、これを自動化したいです。
セル参照だと、毎日、同じ行にデータが上書きされていくため
無理っぽいし、マクロを使わないとできませんか?
コピーとペーストはできそうですけど、「同じ日付の行を探し」というところが難しそうだなぁと思いました。。。
すみませんが、よろしくお願いします。
シートA(データ蓄積用)
日付 データ
12/1 データ1
12/2
・
・
12/31
シートB(データ入力用)
日付 データ
12/2 データ2
↑日付が変われば、同じ行にデータを上書き
No.1ベストアンサー
- 回答日時:
シート名「シートB」の シート名タブを右クリックして「コードの表示」
出てきたVBE画面にコピペします。
シートB の B2セルに書き込みをするとシート名「シートA」に書き込みをします。
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim r, tr As Range
Set tr = Target.Cells(1, 1)
If tr.Address = "$B$2" Then
With Worksheets("シートA")
Set r = .Range("A:A").Find(tr.Offset(0, -1).Value, _
.Range("A65536"), xlFormulas, xlWhole)
If r Is Nothing Then
.Range("A65536").End(xlUp).Offset(1, 0).Value = tr.Offset(0, -1).Text
.Range("B65536").End(xlUp).Offset(1, 0).Value = tr.Value
Else
r.Offset(0, 1).Value = tr.Value
End If
End With
End If
End Sub
ありがとうございます。
Findを使って該当セルを探すのですね。
流れはわかりました。
もうちょっと勉強してみます。
今回は早速のご回答ありがとうございました。
No.2
- 回答日時:
ブックを保存する前に当日のデータ(データ2)をデータ蓄積用シートに書き込むようにしました。
マクロ中のシート名は実際の名前に変更してください(質問にあるとおりのシートA、シートBとしています)。また当日分のデータが書かれているセルアドレスがB2以外であれば、これも3行目を変更してください
なお、データ蓄積用シートの日付はA列、データはB列としてマクロを書きました。違うのであれば補足してください。
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Dim RES
Const Adr As String = "B2" '← 当日のデータのセルアドレス
With Worksheets("シートB")
RES = Application.Match(.Range(Adr).Offset(0, -1).Value * 1, _
Worksheets("シートA").Range("A1:A10000"), 0)
If IsError(RES) Then
MsgBox ("合致する日付が見つからないため" & Chr(13) & _
"本日のデータは書き込みできません")
Else
Worksheets("シートA").Cells(RES, "B") = .Range(Adr).Value
End If
End With
End Sub
マクロはALT+F11でVBE画面を開き、「VBAProjectエクスプローラ」の「ThisWorkBookを右クリック」→「コードの表示」で表示される画面にペーストして下さい。ブック保存時に自動実行されます。
丁寧なご回答ありがとうございました。
No.1さんのFindに対し、Matchを使うのですね。
参考にさせていただきます。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
あなたが普段思っている「これまだ誰も言ってなかったけど共感されるだろうな」というあるあるを教えてください
-
映画のエンドロール観る派?観ない派?
映画が終わった後、すぐに席を立って帰る方もちらほら見かけます。皆さんはエンドロールの最後まで観ていきますか?
-
海外旅行から帰ってきたら、まず何を食べる?
帰国して1番食べたくなるもの、食べたくなるだろうなと思うもの、皆さんはありますか?
-
天使と悪魔選手権
悪魔がこんなささやきをしていたら、天使のあなたはなんと言って止めますか?
-
エクセルで入力シートから別シートに蓄積方法について
Excel(エクセル)
-
Excelで日付変更ごとに、自動的にデータを転記
Excel(エクセル)
-
毎日の日計を別シートに自動で更新、反映させたい
PowerPoint(パワーポイント)
-
-
4
エクセルで「入力」と「蓄積」の簡単なデータベース
Excel(エクセル)
-
5
エクセルを利用して、日計と累計を毎日作成する方法
Excel(エクセル)
-
6
エクセルでデータを蓄積させるには?
Excel(エクセル)
-
7
EXCELでシート1で作ったデータをシート2にデータを蓄積させたい
Excel(エクセル)
-
8
excelで、セル内に文字が入力される毎に行が自動挿入される仕組みを作りたいのですが…
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルについて
-
Excelの警告について
-
if関数。半角文字や全角文字で...
-
Googleスプレッドシートで、名...
-
(マクロ)シートを保護してもマ...
-
エクセルの関数
-
【Excel】効率的な関数式の組み...
-
エクセルの数式について教えて...
-
Excelの更新日時が自動で更新さ...
-
エクセル 入力があった場合のみ...
-
【Excel】 1つのセルの日にちを...
-
エクセルでファイルの最終更新...
-
ショートカットキー
-
Excelでの勤怠表の関数を教えて...
-
エクセルで80万行、50列位のデ...
-
エクセルについての質問です。 ...
-
【Excel】年月の値によって日の...
-
考えた式の戻り値が期待通りに...
-
FからI列で期限切れ及び期限7日...
-
エクセルについての質問です。 ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelの警告について
-
エクセルデーターから必要な項...
-
エクセルでファイルの最終更新...
-
複数のテキストファイルをexcel...
-
Excelの複数条件の関数
-
【マクロ】ファイル名の一括変...
-
EXCELの散布図で日付が1900年に...
-
マクロの処理が遅くなった
-
Excelの時刻の不思議
-
エクセルでの2項目比較および...
-
Excelマクロで空白セルを詰めて...
-
エクセルの数式バーのフォント...
-
ExcelでASCを使って全角を半角...
-
エクセルで80万行、50列位のデ...
-
今まで文字化けなく開けていたc...
-
エクセルのことで教えてくださ...
-
エクセルVBA 月の中で、月~土...
-
Excelでの表の作り方
-
Excel セルにおけるフォント設...
-
エクセルの質問です。 F列からL...
おすすめ情報