データテーブルからのゼロ値の削除(Microsoft Excel)
Robertは、ゼロ値を持つデータテーブル内のセルのすべてのインスタンスを検索し、それらのセルを削除するマクロを望んでいます。彼はこれをどうやってやるのか疑問に思います。
このヒントの目的上、Robertは実際にセルを削除するのではなく、実際にセルの値をクリアしたいと考えていると仮定します。
さらに、Excelで設定を変更するだけで簡単にできるように、彼はゼロ値を非表示にするだけではないと仮定します。
(これを行う方法は、他の_ExcelTips_で説明されています。)
実際には、ゼロ値を取り除く方法がいくつかあります。 1つの方法では、マクロを使用しませんが、代わりにExcelの検索および置換機能に依存します。
。 Ctrl + Hを押します。 Excelは、[検索と置換]ダイアログボックスの[置換]タブを表示します。
。 [オプション]ボタンをクリックして、ダイアログボックスを展開します。 (図1を参照)
。 [検索する文字列]ボックスに0を入力します。
。 [置換]ボックスが空であることを確認してください。
。 [セルの内容全体に一致する]チェックボックスをオンにします。
。 [すべて置換]をクリックして、置換を実行します。
必要に応じて、上記の手順を短い小さなマクロに変換することもできます。
Sub ReplaceZeros() Cells.Replace What:="0", Replacement:="", _ LookAt:=xlWhole, SearchOrder:=xlByRows End Sub
このアプローチで達成できることには限界があります。特に、実際に0の値を含むセルのみが置き換えられます。 0に解決される数式は置き換えられません。たとえば、セルに0に解決される数式= 4-4が含まれている場合、セルには実際には0の値がないため、検索と置換操作はそれを無視します。
0を含むか、0に解決されるセルを実際にクリアするものが必要な場合は、別のマクロアプローチが必要になります。これが良いものです:
Sub DeleteZeroes() Dim rCell As Range For Each rCell In Selection If rCell.Value = 0 Then rCell.ClearContents End If Next End Sub
マクロを使用するには、影響を与えるセルを選択してからマクロを実行するだけです。選択した各セルを調べて、0の値を含むセルの内容を削除します。この場合、0に解決される数式も含まれます。
注:
このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。
このヒント(13437)は、Microsoft Excel 2007、2010、2013、および2016に適用されます。