• ベストアンサー

エクセルVBAにて最終行の取得とその活用

エクセルVBA初心者です。 VBAで入力行最終行を取得するのは、色々なところに載っているですが、 その行から一個下の行を全て消すのはどうしたらよいのですか? Sub 最終行取得() Dim r r = Range("B4").End(xlDown) Rows(r + 2).ClearContents  ←ここは適当です。 ちなみに Range("a"&r+1).ClearContents で一つしたのセルを消す事は出来ました。

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.3

No2 merlionXXです。 > 結合しているセルがある為エラーになります。 結合していれば手動でやってもクリアできないはずですよね。 どうしてそういう後だしジャンケンみたいな質問をされるのでしょうか? 結合してないのがA,C,F列で、そこだけクリアでもいいのなら r = Range("B4").End(xlDown).Row + 1 Range("A" & r & "," & "C" & r & "," & "F" & r).ClearContents

mahiro_2
質問者

お礼

merlionXX様回答ありがとうございました。 あと出しジャンケンみたいな質問してすいません。 自分でも結合セルが引っかかると思っていなかったもので。 今度から気をつけます。 提示してもらったコードを参考にさせてもらい解決いたしました。 (B列も結合している為、最終行の取得がうまく出来なかった為、 jam-best様の式と両方を使いました。) 最終的にはこうしました。 Dim r As Long r = Cells(65536, 2).End(xlUp).Row + 2 Range("A" & r & "," & "C" & r & "," & "F" & r).ClearContents End Sub

すると、全ての回答が全文表示されます。

その他の回答 (4)

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.5

n-junです。 >また、もしだめならば、A,C,Fの行だけでも結構です。 Sub try2() Range("B4").End(xlDown).Offset(1, -1).Range("A1,C1,F1").ClearContents End Sub こうゆう事ですか?

mahiro_2
質問者

お礼

n-jun様回答ありがとうございます。 最終行の取得でうまく出来なかった為、 違う方法にて解決しました。 参考になるコードの提示ありがとうございました。

すると、全ての回答が全文表示されます。
  • jam-best
  • ベストアンサー率27% (94/344)
回答No.4

B列の最終行だけ見ればいいのでしょうか? Dim lrow As Long lrow = Cells(65536, 2).End(xlUp).Row Rows(lrow + 1).Delete Shift:=xlUp End Sub これでどうでしょうか。

mahiro_2
質問者

お礼

jam-best様回答ありがとうございます。 Rows(lrow + 1).Delete Shift:=xlUpを使うと 列ごと削除される為表が崩れてしまいます使えませでしたが 最終行の取得は、参考にさせていただきました。

すると、全ての回答が全文表示されます。
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.2

一例です。 r = Range("B4").End(xlDown).Row Rows(r + 1).ClearContents

mahiro_2
質問者

お礼

merlionXX様ありがとうございます。 一応出来ました。しかし 結合しているセルがある為エラーになります。 なにか良い方法はありますか?

すると、全ての回答が全文表示されます。
  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

Sub try() Range("B4").End(xlDown).Offset(1).EntireRow.ClearContents End Sub こうゆう感じの事ですか? Offset(1) B4以下最終行の1行下と言う事です。

mahiro_2
質問者

お礼

n-jun様回答ありがとうございます。 一応出来ましたが、デバックされます。 結合セルがすぐ下にあるためエラーになります。 BとDとEとGとHは結合している為エラーになります。 これに対応したものは出来るのでしょうか? また、もしだめならば、A,C,Fの行だけでも結構です。

すると、全ての回答が全文表示されます。

関連するQ&A