• ベストアンサー

エクセルで、一括削除について。

エクセルでの質問です。 製品修理番号が約3万件程、入っておりましてその中のある番号のものだけ削除したいのですが、どの様にして削除して良いのか御助言を頂ければと思います。 A列~C列までそれぞれに1万件づつデーターが入っております。 製品修理番号の末尾が数字のものだけ削除したいのです。 例:AB-001-cdf-ad5この様になっております。末尾の数字は0~9までです。 1件づつ確認して削除していくのも大変時間がかかってしまいますので出来れば一括で削除したいのですが何かしら方法があるのでしょうか?御手数をお掛け致しますがどちら様か御助言くだされば幸いです。宜しくお願い致します。ちなみにエクセルは、2007を使用しております。

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

  • ベストアンサー
  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

関数+フィルタ VBA などの方法がある 例データ A列          B列 AB-001-cdf-ada AB-001-cdf-ad6 1 AB-001-cdf-ad7 1 AB-001-cdf-adx AB-002-cdf-adQ AB-003-cdf-a13 1 B列の式は =IF(ISNUMBER(RIGHT(A1,1)*1),1,"") を式を複写したもの。 1以外をフィルタで捉えればよい。 ただB、C列にもA列と同じようなデータが入っているようなので 右に列挿入し上記を行い、データーフィルターフィルタオプションの設定を3列分3回行はざるを得ない。 こういうデータの持ち方はExcelでは不可。 ーー VBAなら 最終行を捉え、最終行から上に向かって、A列の値のRight1桁が数字(IsNumeric)なら、Shift:=xlUp のセル削除を行えばよい。 Sub test01() d = Range("A65536").End(xlUp).Row MsgBox d For j = 1 To 3 For i = d To 1 Step -1 x = Right(Cells(i, j), 1) If IsNumeric(x) Then Cells(i, j).Delete Shift:=xlUp End If Next i Next j End Sub

fuga350
質問者

お礼

ありがとうございます。 こう言った方法があるのですね! 大変参考になりました。挑戦してみたいと思います。

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

その他の回答 (1)

  • mcsp
  • ベストアンサー率46% (6/13)
回答No.1

 こんにちは。  削除というのはセル内を空白状態にするだけでよろしいのでしょうか? ざっくりですがこんなのではどうでしょうか?実行する前に必ず ファイルは保存しておいて下さい。 Sub ClearData()   Dim myRg As Range   Dim wkRg As Range   Dim wkStr As String   Worksheets(1).Select     'とりあえず一番左にあるシートを指定   Set myRg = Range("A2:C10001") 'セルの範囲を指定   For Each wkRg In myRg     wkStr = Right(wkRg.Value, 1)     If IsNumeric(wkStr) = True Then       wkRg.ClearContents     End If   Next   Set myRg = Nothing End Sub

fuga350
質問者

お礼

ありがとうございます。 実は、セル自体を削除したいのです。説明不足で申し訳ございませんでした。でもとても参考になります。似たような事、がありますので 実行してみます。御手数をお掛け致しまして恐縮です。

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

関連するQ&A

  • エクセルで、「’」を一括で削除する方法ってありますか?

    助けてください! エクセルで、A列の数字すべてに「’」が入っています。 ’19990708 ’20001223 この「’」を一括で削除し、 19990708 20001223 に変更することは出来ますか? (行は3万行くらいあり、手処理で「’」を削除するのは無理なんです) または、A列は日付列なのですが、’19990708を1999/07/08と日付に認識させる関数などはありますか? left関数、mid関数、&と"/"など試してみましたが、「’」が取れませんでした。 (1999/07/08とした後、セルの書式設定→分類→日付→種類で7月8日や7/8と表示を変更させたいのです。) どんな方法でもいいので、どなたか解決方法を教えてください。 よろしくお願いいたします。

  • Excelシート上のハイパーリンクの一括削除

    Excelシート上にあるハイパーリンクの一括削除はできるのでしょうか? 現在、ある列にハイパーリンクされたデータがあります。 これを、列全体を一括でリンク解除したいのです。 セル毎に、右クリック→ハイパーリンク(H)→ハイパーリンクの削除 で一つずつ解除出来ますが、これを列単位で一括して行いたいです。 よろしくお願いいたします。

  • [ Excel ]1つの列内各セルに共通の単位を一括でつける方法

    excelについて教えて下さい。 ある列に入力された数値の末尾に一括で単位を入れたいと思います。 例えばB列に「年齢」を表す数値が並んでいて、各セルの末尾に「歳」をつけるといった具合です。 数字はもちろんバラバラです。 こんなことはできるのでしょうか。

  • エクセルでの文字一括変換について

    エクセルを使用して、縦の列に10個、12個、23個、11個なと数字がランダムに300ヶほど並んでいるのですが、この「個」の文字部分だけを一括で削除してしまう方法は無いでしょうか? どなたか教えて下さい<(_ _)>

  • エクセルのデーターからハイフンを削除したい。

    エクセルのデーターの住所の欄に余分なハイフンが入っているのを一括に削除出来る方法があれば教えて頂きたい。 部屋番号用のハイフンが入っています。 この部屋番号用のハイフンだけ1と4の末尾のハイフンだけを削除する方法はありませんでしょうか? 今のデーター  1 1ー2ー3ー  2 1ー2ー3ー101  3 1ー2ー3ー102  4 1ー2ー4ー この様にしたい  1 1ー2ー3  2 1ー2ー3ー101  3 1ー2ー3ー102  4 1ー2ー4 初心者なので宜しくお願いします。

  • エクセルの一括変換について

    はじめまして。 エクセルの初心者のものです。 エクセルに詳しい方がいらっしゃいましたら、ぜひよろしくお願いします。 番号 値段 1   50円 2   50円 3   10円 4   10円 5   50円 6   10円 7   50円 とエクセルのデータがあったとします。 これの番号の 「1,3.6」だけを一括で100円にしたいです。 以上のあくまで例であり、 実際は10000件以上あり、 「1,4,6,9,13,15,18,19,45,70・・・・・」と半角数字のコンマ区切りのデータが別にあります。 これを一括でする方法は無いでしょうか? エクセルのみでなく、何か別のフリーソフトとの組み合わせでもOKです。 やり方を思いつきそうな方がいらっしゃいましたら、ぜひご教授下さい。

  • エクセルでデーターを比較削除したいのですが。

    エクセルでの質問です。 エクセルで、A列に1万件ほどの電話番号が入っているとしまして、B列に1000件ほどのやはり電話番号が入っているとします。A列のデーターとB列のデーターを比較しまして、もしB列のデーターと同じものがA列にある場合、A列の該当しますデーターを削除したいのですが、エクセルでそのような事が出来るのでしょうか?重複データーの削除で検索してみたのですが、いまいちよく理解できなかったものですから投稿させて頂きました。ご存知のお方がいらっしゃいましたらば、御教示頂きたいのです。エクセルは、2007を使用しております。宜しくお願い致します。

  • エクセルでのフィルタリング

    基本的なことかもしれませんが教えて下さい。 AB列  AC列  ←このような感じで2000件近くの数字が入力  2   8    してあるのですが、そのなかから『AB列  4   5    とAC列の数値が異なるもの』を抽出し、  4   4    『AB列=AC列』のものを削除したいの  3   4    ですがどうすればいいのでしょうか?

  • 住所録に一括で郵便番号をふるには?

    エクセル2002で住所録を作りました。200件近くあるのですが、違う列にその住所一つ一つの郵便番号を一括してふるにはどうしたらよいですか?教えてください。

  • 電話番号の末尾に :0:0 を付けたい

    Excel 2010で、D列のセルに電話番号を150件ほど入力してあります。 この電話番号の末尾に :0:0 を、キー入力以外で、一括して、付けるにはどうしたらいいでしょうか。 例えば、 03******** を、キー入力以外で、一括して、03********:0:0 と表示するにはどうしたらいいでしょうか。

専門家に質問してみよう