• ベストアンサー

VBA 削除ボタン

VBA初心者です。ユーザーフォーム上に削除ボタンを作成しました。 削除ボタンを押した時に「本当に削除していいですか?はい・いいえ」などのメッセージがでてくるようにしたいのですが、どういうコードをどこに記載したらいいか教えて頂きたいです。

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

No.1です! 補足の件について・・・ 実際のデータがどのようになっているのかはこちらで判断しかねますので、 前回はとりあえずあのように勝手にA1~B5セルを範囲指定しました。 補足によると、A1~BU列のデータが入っている最終行まで!と解釈しましたので、 もう一度コードを載せてみます。 (必ず1行目にはデータが入っているという前提です) Private Sub 削除_Click() Dim i As Long i = ActiveSheet.UsedRange.Rows.Count If MsgBox("削除しますか?", vbYesNo) = vbYes Then Range("A1:BU" & i).ClearContents UserForm1.Hide Else UserForm1.Hide Exit Sub End If End Sub ※ >i = ActiveSheet.UsedRange.Rows.Count としている関係上、どこの列でも良いですので1行目は必ず何らかのデータが入っているものとします。 そうしないとSheetの最終行の取得ができません。 ※ UserForm にオブジェクト名を付けている場合は実際のオブジェクト名にしてください。 ※ A列~BU列すべてをクリアしてよいのであれば、 >Range("A1:BU" & i).ClearContents の行を >Columns("A:BU").ClearContents としてもOKだと思います。 こんなんでよろしいでしょうか?m(_ _)m

shinarika
質問者

お礼

ありがとうございました

その他の回答 (2)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

何度もごめんなさい! 前回書き忘れたのですが、 >ClearContents >Clear >Delete は意味合いが違いますので、 気を付けてください。 何度も失礼しました。m(_ _)m

shinarika
質問者

お礼

ありがとうございました

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんにちは! 一例です。 ユーザーフォーム上コマンドボタンの「オブジェクト名」は「削除」とした場合・・・ Private Sub 削除_Click() If MsgBox("削除しますか?", vbYesNo) = vbYes Then Range("A1:B5").ClearContents '←範囲は実状に合わせてください。 Else Exit Sub End If End Sub こんな感じではどうでしょうか?m(_ _)m

shinarika
質問者

お礼

ありがとうございます。 一度してみます。

shinarika
質問者

補足

試してみたのですが、範囲というのは入力されるだろう範囲でいいのですかね? A1スタートのBUまでは入力するのですがBUの何行目までという範囲は推測でいいのですかね?初心者すぎて申し訳ございません。

関連するQ&A