プロが教える店舗&オフィスのセキュリティ対策術

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

A 回答 (3件)

>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
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/09/01 09:16

こんにちは。


しばらく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
    • good
    • 0
この回答へのお礼

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

お礼日時:2006/09/01 09:17

VBA使わなくともワークシート関数で。



sheet1のA1からデータが入っているものとします。
sheet2に仮のデータを入れます。

sheet2のセルA1に

「=IF(Sheet1!A1<0.001,"",Sheet1!A1)」

と入力し、sheet2内でドラッグして範囲を必要な領域まで広げる。すると「見た目」は希望通り不要データ削除された状態になっていると思います。

必要に応じ、Sheet2全体を選択→コピーしてどこか好きなところへ「形式を指定して貼り付け→値」にすれば数値だけになります。
    • good
    • 0
この回答へのお礼

ありがとうございます。

お礼日時:2006/09/01 13:07

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!