• ベストアンサー

エクセルのマクロ

同一列上に連続する複数のセルが選択状態にある時、一番下のセルのデータのみ残して他のセルのデータは消去するマクロとして以下を実行すると、全てのセルのデータが消去されてしまいます。どこを直せばいいでしょうか? Sub test() Dim myRange For Each myRange In Selection.Areas If myRange.Rows.count > 1 Then myRange.Resize(, myRange.Rows.count - 1).ClearContents End If Next End Sub

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

  • ベストアンサー
  • hana-hana3
  • ベストアンサー率31% (4940/15541)
回答No.1

myRange.Resize(, myRange.Rows.count - 1).Select として実行すると、どの範囲がクリアされるか解るかと思います。 myRange.Resize(myRange.Rows.count - 1).ClearContents のように修正してみてください。

naruue
質問者

お礼

ありがとうございました。 解決しました。

その他の回答 (2)

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

Sub test() If Selection.Rows.Count > 1 Then Selection.Resize(Selection.Rows.Count - 1).ClearContents End If End Sub

naruue
質問者

お礼

ありがとうございました。 解決しました。

  • uc078
  • ベストアンサー率22% (28/127)
回答No.2

とりあえず、 myRange.Resize(, myRange.Rows.count - 1).ClearContents           ↑ ここにある先頭のカンマ、消してみてください 私はそれで、消えています ↓こんな感じです myRange.Resize(myRange.Rows.count - 1).ClearContents

naruue
質問者

お礼

ありがとうございました。 解決しました。