• ベストアンサー

EXCELのマクロで。。。

シートAのセルC2の値(数字)を シートBのE、F、Gの各列のうち空いている一番左のセルで、かつ、D列に何か書いてある一番下の行のセル に転記したいです。 たとえば、シートBが図のような場合にはF28です。これが毎回、変化します。 マクロの記述を教えて下さい。よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

D列の一番下の記入セルは以下で求められます  Cells(Rows.Count, 4).End(xlUp) この行でD列以降の最初の空白セルは、隣り(E列)が空白でない場合は   Cells(Rows.Count, 4).End(xlUp).End(xlToRight) の右隣のセルということになります。 そのセルがE~G列(5~7)であればそれが求めるセルですが、H列(8)以上の場合はE~G列に空白がなく、ご指定の条件に合致するセルがないということになります。 Sub test() Set rng = Cells(Cells(Rows.Count, 4).End(xlUp).Row, 4) If rng.Offset(, 1).Value <> "" Then Set rng = rng.End(xlToRight) Set rng = rng.Offset(, 1) rng.Select MsgBox (rng.Column) End Sub

関連するQ&A