Excel。VBA。飛び飛びの空白セルに一括で文字を入力したい
<SpecialCellsメソッド>
列内にある、空白セルに文字を入力したい場合、少なければ、コピーするとか入力でもいいのですが、空白セルの数も多く、しかも、「飛び地」だとすれば、面倒な処理といえます。
例えば、次の表。
提出済のC列のデータをみると、空白セルがあります。
しかも飛び地状態ですね。
今回は説明用のサンプルなので、たった5件のデータですが、もっといっぱいあるとします。
この空白セルに「未提出」という文字を入力・設定したい場合、コピーや入力では時間がかかってしまいます。
そこで、Excel VBAでプログラムを作ってみるという方法もあります。
プログラム文は大変なのではと考えてしまうところですが、次の一行で、終わらせることができます。
Sub 未提出()
Range("c2:c6").SpecialCells(xlCellTypeBlanks) = "未提出"
End Sub
まずは、実行してみましょう。
空白セルに「未提出」と入力できていますね。
プログラム文を確認しておきましょう。
Range("c2:c6").SpecialCells(xlCellTypeBlanks) = "未提出"
Range("c2:c6")は、範囲選択ですね。
この範囲が対象になるわけです。
SpecialCells(xlCellTypeBlanks) = "未提出"
この「SpecialCells(xlCellTypeBlanks)」で、セルが空白なのかどうなのかを知ることができます。
空白だったら、「= "未提出"」
すなわち、未提出と設定することができたというわけです。
このように、データ量が多くて、やる処理は単純で反復のような場合には、Excel VBAでプログラムをつくってみるのもいいかもしれませんね。