Excel VBA 質問スレッド №2087 (解決済)
3つ一致したら転記
投稿者 : ウソップ 投稿日時 : 2025/02/27(Thu) 00:53:52 OS : Windows 11 EXCEL : 未指定
シート前月(仮に4月)の獲得数を、シート今月(仮に5月)の4月列に転記したいです。
転記元の月はシート前月のB1セルから取得を考えています。
名前は入れ替わることがあるので名前の一致を確認したうえで転記したいです。
新しい月になったら前月の獲得数を今月分に転記していくマクロを教えていただけないでしょうか?
マクロ詳しい方、なにとぞよろしくお願いします。
シート前月:https://ibb.co/5WPmVvRP
シート今月:https://ibb.co/zHnPj5xt
シート前月(仮に4月)の獲得数を、シート今月(仮に5月)の4月列に転記したいです。
転記元の月はシート前月のB1セルから取得を考えています。
名前は入れ替わることがあるので名前の一致を確認したうえで転記したいです。
新しい月になったら前月の獲得数を今月分に転記していくマクロを教えていただけないでしょうか?
マクロ詳しい方、なにとぞよろしくお願いします。
シート前月:https://ibb.co/5WPmVvRP
シート今月:https://ibb.co/zHnPj5xt
スポンサーリンク
[返信 1] Re : 3つ一致したら転記
投稿者 : てらてら 投稿日時 : 2025/02/27(Thu) 06:00:20
こんにちは。
参考にしてみてください。
こんにちは。
参考にしてみてください。
Sub macro() Dim i As Long, j As Long, cnt As Long Dim sh1 As Worksheet Dim sh2 As Worksheet Set sh1 = Worksheets("4月") Set sh2 = Worksheets("5月") Dim col As Long For i = 8 To 19 If sh1.Range("B1") = sh2.Cells(3, i) Then col = i Exit For End If Next i If col = 0 Then MsgBox "該当する月が見つかりませんでした。" Exit Sub End If For i = 4 To 100 If sh1.Cells(i, "B") = "" Then Exit For For j = 4 To 100 If sh1.Cells(j, "B") = "" Then Exit For If sh1.Cells(i, "B") = sh2.Cells(j, "B") And sh1.Cells(i, "C") = sh2.Cells(j, "C") Then For cnt = col To 8 Step -1 sh2.Cells(j, cnt) = sh1.Cells(i, cnt) Next cnt Exit For End If Next j Next i End Sub
[返信 2] Re : 3つ一致したら転記
投稿者 : ウソップ 投稿日時 : 2025/02/27(Thu) 16:22:29
てらてら様。
当月より過去の分も転記するようにしてくださったのですね。
おかげさまで解決しました。
ありがとうございました。
てらてら様。
当月より過去の分も転記するようにしてくださったのですね。
おかげさまで解決しました。
ありがとうございました。
当掲示板について
- Excel VBA に関する掲示板です。Excel VBA に関する質問や疑問、それに対する解決方法など気軽に投稿してください。
- 記事内ではHTMLのタグは使用できません。
- 記事は一度投稿すると修正できません。内容を訂正したい場合は返信で対応してください。
- Sub〜End Sub、Function〜End Function は自動的にプログラムコードとみなし、枠で囲って見やすくします。
- Excel VBA とは関係ないことや、他人が不快に思うようなことなど、管理人が適当でないと判断した記事は削除する場合があります。
スポンサーリンク
返信入力フォーム
( 処理日時 : 2025-07-05 17:50:19 )