わんちゅう日記

気ままにヒトリゴト

タグ:ExcelVBA

以前、Excelワークシート上の空白セルの個数を数えるために、SpecialCells(xlCellTypeBlanks).Countを使ったと書きました。
で、この範囲内のセルがすべて空白であると、「該当するセルが見つかりません」と訳の分からないエラーが出るとも書きました。

で、今日。

今度は"範囲内の非空白セルの個数を数える"ために、SpecialCells(xlCellTypeConstants).Countを使いました。

結果、非空白セルの個数がちゃんと取得できました。
が、やはり範囲内に非空白セルが無いと「該当するセルが見つかりません」と表示されました。

結論。

地道にループでなめるようにカウントしていったほうが予期せぬエラーが生じない分、良さそうです(-_-;)

最近もっぱらVBAを組んでいますが、文字列の処理が非常に楽で助かっています。

ファイルから1行読み込むにしても、String型の変数を用意しておけば、読み込まれるサイズを気にする必要はありません。しかも、あらかじめ配列で用意しなくてもいいってのが本当に楽です。

ただ、ファイルの扱い方がいまいち分かりません。
FileSystemObject(FSO)を使ってファイル扱ってるんですが、これ、VBAのライブラリ関数じゃないんですよね。この辺のリファレンスが欲しいかなと思ってます。

あと、VBAでいまいち分からないのは、各オブジェクトの存続期間ですかね。
シート上からコマンドボタンで別のシートに定義されているプロシージャをコールするんですが、あるときはOK、あるときはNGと状況によって異なるんですね。
まあ、この辺は設計がまずいんでしょうから、もう少し考えてみなくてはなりませんな。

このページのトップヘ