ここから本文です

VBAで複数のシートデータを一括で削除する方法 現在ひとつのシートのみを対象と...

cuc********さん

2018/10/1905:43:07

VBAで複数のシートデータを一括で削除する方法

現在ひとつのシートのみを対象としたデータを削除する記述が組み込まれているのですが、ほかのシートも同時にできるようにしたいです。

現在の記述は下記のとおりです。
↓↓

Private Sub CommandButton1_Click()

Dim lastrow
lastrow = Cells(Rows.Count, 1).End(xlUp).Row
Range(Cells(2, 1), Cells(lastrow, 30)).Select
Selection.ClearContents


最終行から30列までを選択して削除としているのですが、別シートではそれぞれ
削除する範囲は異なります。※最終行という点は変更ありません。

仮にシート名:【あいうえお】と【かきくけこ】と【さしすせそ】があった場合に教えて頂きたいです。

閲覧数:
72
回答数:
3
お礼:
250枚

違反報告

ベストアンサーに選ばれた回答

だるまさん

2018/10/1913:45:41

現行コードに少々手を加えて、引数でシートと列数を
指定して削除するプロシージャを作り、メインから
コールするようにすると、見通しの良いプログラムに
なりますよ。


Private Sub CommandButton1_Click()
    DeleData "あいうえお", 2
    DeleData "かきくけこ", 30
    DeleData "さしすせそ", 50
End Sub


Private Sub DeleData(ShtName As String, N As Long)
    Dim LastRow
    With Worksheets(ShtName)
        LastRow = .Cells(.Rows.Count, 1).End(xlUp).Row
        .Range(.Cells(2, 1), .Cells(LastRow, N)).ClearContents
    End With
End Sub

質問した人からのコメント

2018/10/20 19:33:25

iru…さんと悩みましたが、シンプルな記述だったina…さんに決めさせて頂きました。
ご丁寧にありがとうございました!

ベストアンサー以外の回答

1〜2件/2件中

並び替え:回答日時の
新しい順
|古い順

iru********さん

2018/10/1909:20:25

シンプルイズベスト

Private Sub CommandButton1_Click()
Dim lastrow
With Worksheets("あいうえお")
lastrow = .Cells(.Rows.Count, 1).End(xlUp).Row
.Range(.Cells(2, 1), .Cells(lastrow, 2)).ClearContents
End With
With Worksheets("かきくけこ")
lastrow = .Cells(.Rows.Count, 1).End(xlUp).Row
.Range(.Cells(2, 1), .Cells(lastrow , 30)).ClearContents
End With
With Worksheets("さしすせそ")
lastrow = .Cells(.Rows.Count, 1).End(xlUp).Row
.Range(.Cells(2, 1), .Cells(lastrow , 50)).ClearContents
End With
End Sub

30246kikuさん

2018/10/1906:15:36

以下でどうなりますか

の前に、最終行を A 列で求めてますが、
B ~ AD 列には、それ以上のデータがある?

もし、無ければ、そのシート最後までを対象にできるかと・・・

Range("A2:AD2").Resize(Rows.Count - 1).ClearContents

これを利用してみると、雰囲気以下でどうなりますか


Public Sub Samp1()
   Dim vC As Variant, v As Variant

   vC = Array("あいうえお", "かきくけこ", "さしすせそ")

   For Each v In vC
      With Worksheets(v)
         .Range("A2:AD2").Resize(Rows.Count - 1).ClearContents
      End With
   Next
End Sub

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる