• ベストアンサー

EXCEL(エクセル)で0.001以下の数字を自動で削除したい

EXCEL(エクセル)で、シート上のすべての0.001以下の数字(定数)が入っているセルをVBAなどを使って自動で空白にする方法を教えていただけないでしょうか。よろしくお願いいたします。

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

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

>0.001以下の数字(定数) で間違いないですね。数式セルは消しませんよ。 Sub Macro2() Dim tc As Range For Each tc In Cells(1, 1).SpecialCells(xlCellTypeConstants, 1) If tc.Value <= 0.001 Then tc.ClearContents End If Next tc End Sub

rounin3
質問者

お礼

とても参考になりました。ありがとうございます。

その他の回答 (2)

  • gori8063
  • ベストアンサー率36% (116/319)
回答No.3

VBA使わなくともワークシート関数で。 sheet1のA1からデータが入っているものとします。 sheet2に仮のデータを入れます。 sheet2のセルA1に 「=IF(Sheet1!A1<0.001,"",Sheet1!A1)」 と入力し、sheet2内でドラッグして範囲を必要な領域まで広げる。すると「見た目」は希望通り不要データ削除された状態になっていると思います。 必要に応じ、Sheet2全体を選択→コピーしてどこか好きなところへ「形式を指定して貼り付け→値」にすれば数値だけになります。

rounin3
質問者

お礼

ありがとうございます。

回答No.2

こんにちは。 しばらくVBAから遠ざかっていたのですが、 今記憶にあることで作ってみました。 >シート上のすべての ・・・ ということはかなり時間がかかってしまうのですが、いいのでしょうか? 下記をVBAとしてコピペし、マクロから実行してみてください。 ※この実行の結果、不都合が生じても責任は負えませんが、ご了承ください。  Dim i As Long, i1 As Long Dim Ccount As Long, Rcount As Long Const A As Single = 0.001 i = 1 '列 i1 = 1 '行 Ccount = Columns.Count '最終列 Rcount = Rows.Count '最終行 For i = 1 To Ccount '列 i1 = 1 For i1 = 1 To Rcount '行 If Cells(i1, i) <= A Then 'cells(行,列) Cells(i1, i).Value = "" If i1 Mod 10000 = 0 Then Cells(i1, i).Select End If End If Next Next

rounin3
質問者

お礼

実際に使ってはいませんが、ありがとうございます。

関連するQ&A

  • EXCEL(エクセル)で0.001以下の数字を自動で0.0000000000001にしたい

    EXCEL(エクセル)で、シート上のすべての0.001以下の数字(定数)が入っているセルをVBAなどを使って動で0.0000000000001にする方法を教えていただけないでしょうか。よろしくお願いいたします。

  • EXCEL(エクセル)で、0.01以上の数字が一つもない列をすべて自動で削除したい

    EXCEL(エクセル)で、シート上の0.01以上の数字が一つもない列をすべて、VBAなどを使って自動で削除にする方法を教えていただけないでしょうか。  よろしくお願いいたします。

  • エクセルで打ち込んだ数字を自動で別シートに表示したい

    エクセルでセルに打ち込んだ数字を自動で別シートに表示できる方法があれば、教えてください。 例えば、シート1のC1に5を打ち込んだら、シート2のD2にシート1で打ち込んだ5が自動で表示される。 また1列すべてを自動で表示させる場合、一つのセルの時と違いがありましたら教えてください。よろしくお願いします。

  • エクセルの数字だけを削除

    エクセルの一つのセルの中にテキストと数値が入ったセルがたくさんあるのですが【(福岡県 2500)や(宮崎県1800)のように】、全てのセルの中の数字だけを削除したりすることはできますでしょうか?全てをコピーしてテキストドキュメントに貼り付けて数字だけ検索や置き換えなども試しましたがダメでした。数字とテキストが別々のセルに入っていれば簡単にできるのですが、エクセル以外の方法でも構いませんので何か良い方法はありませんでしょうか?対象セルが大量にあるので、一つ一つやっていたら大変時間がかかります。 よろしくお願いいたします。

  • エクセルで数字だけを消すことはできないでしょうか

    エクセルで1つのセルの中に数字と文字の両方が あります。数字だけを消したいのですが。数字 は数式の結果ではありません。 数字はすべて同じ物ではないので、置換は使え ませんでした。 このサイトにもある、編集→ジャンプ→定数・ 数式も利用してみましたが「該当するセルがあ りません」と表示されてしまいます。 この二つ以外の方法はありませんか?

  • エクセルで複数のセルが○以下のときに、△の数字に。□以下のときに、×の数字に・・・

    エクセルでセルA1~A3の数字がすべて4以下の時にB1のセルに24と表示し、A1~A3の数字がすべて6以下の時には6と表示し、それ以外の時は0としたいのですが、この2つの条件を組み合わせることは可能でしょうか。 先ほど、一つの条件のときのやり方(4以下で24と表示、それ以外は0と表示)は教えていただいたのですが。。。 教えていただけると助かります。よろしくお願いします。

  • エクセル マクロで数値が変った時行挿入できますか

    最近VBAを勉強しはじめた初心者です。 簡単なマクロを使ってエクセルシートを作成中しているのですが、以下の部分がどうしても分りません。 (1)ある列(例えばA列)に数字が入っています。 (2)その数字は、セル1個つき1桁から3桁(1から100の場合)です。 (3)「1」「1」「1」と3セル並んでいたり、「2」「2」が2セルだったりと色々です。 (4)この数字が変化したとき、例えば「1」と「2」の間、「2」と「3」の間などに、  自動的に行挿入して、空白行を作りたいと思っています。 マクロでこのような事が可能でしょうか? もし、お分かりになる方がおられましたら、ご教示の程お願いいたします。 どうぞよろしくお願いいたします。

  • エクセルである数字になったら自動的に音声で知らせる

    エクセル2007をつかっていますが、ある特定のセルがある数字以上(または以下)になったら音声で知らせる方法がわかりません。 読み上げ機能はツールバーの<読み上げ>をクリックしないと音声はでませんが、そういうクリックしないで、特定の数字になれば自動的に音声がでるようにしたいのです。 マーケットスピードのリアルスプレッドシートをつかっていますので、株価(セル)は常に変動しています。 よろしくお願いします。

  • エクセル VBA 条件つきの印刷

    エクセルVBAにおいて、 例えば「セルA1が空白でないシートすべてを印刷する」 このようなコードは可能でしょうか? よろしくお願いします。 (エクセル2000)

  • エクセルで一つのセルに入っている複数の数字を、それぞれ各セルに入れるにはどうしたらいいでしょうか

    よろしくお願いします。 今エクセルにおいて、一つのセルに複数の数字が空白を置きながら入っています。 例えば以下のようなものが一つのセルに入っています。 1 0.935 4.571 0.000 4.918 これを各数字ごとに各セルに分けたいのですが、やり方がよくわかりません。 分かりづらい質問で申し訳ありません。 宜しくお願いします。

専門家に質問してみよう