ID非公開
ID非公開さん
2021/1/24 23:32
1回答
VBA(エクセル)で特定の行の転記について
VBA(エクセル)で特定の行の転記について A列~G列の4行目が項目行で最終行は増えて行く管理表があります。 C列が「日直」の文字列があった場合 同じ行の D列をE2へ転記 E列をF2へ転記 A列&B列をG2へ転記 させたいと思います。 日直はC列の中で1人です。 この転記のコードをご教授下さい。 宜しくお願い申し上げます。
Excel | Visual Basic・13閲覧・25
ベストアンサー
サンプルです。 Sub Sample() Dim m As Long Dim r As Range 'C列の最終行を求めます m = Range("C" & Rows.Count).End(xlUp).Row 'C列の最終行が4(見出しだけ)の場合は処理しません If m > 4 Then 'C列(5行目から最終行まで)で「日直」を検索 Set r = Range("C5:C" & m).Find("日直", , xlValues, xlWhole) '見つかった(Nothingでない)場合 If Not r Is Nothing Then '値をコピー Range("E2").Value = r.Offset(0, 1).Value Range("F2").Value = r.Offset(0, 2).Value Range("G2").Value = r.Offset(0, -2).Value & r.Offset(0, -1).Value End If End If End Sub 検索はFindで行っていますがApplication.WorksheetFunction.Matchという方法もあります。
ID非公開
ID非公開さん
質問者
2021/1/25 23:45
ご丁寧にありがとうございます。 思い通りの結果となり感激しています。 更に解説付きでとても分かりやすかったです。 もう一つ教えて頂きたいのですが、 日直と入力されたら(セルの値が変わったら)すぐに転記 ・・・はどうしたら良いでしょうか?
質問者からのお礼コメント
何度もお付き合い頂きありがとうございました。 とっても助かりました!!
お礼日時:1/27 18:38