VBA

4項目以上のソート

VBA

VBA にもソートを行う関数は存在します。しかし、複数項目をキーにしたい場合、最大3つまでしか使う事ができません。4項目以上でソートを行う方法を考えたので、メモしておきます。サンプルソースは1行目に見出しが存在する、5項目からなる表を想定します(…

拡張CSVに対応した CSV インポート

VBA

CSV ファイルを読み込むとき VB.NET であれば TextFieldParser というクラスで簡単に行えるのですが Excel 2003 の VBA には該当クラスは存在しません。自分で CSV を読み込む際に問題になるのが値として含まれるカンマ「,」です。Microsoft では以下のよう…

ワークシートとグラフ

VBA

Excel VBA ではグラフを描く事もできます。もしデータをシートから取得するなら Range メソッドを使うのですが、ここで問題が一つ。少なくとも Excel 2003 において、グラフがアクティブになった状態で Range メソッドを用いるとエラーになります。具体的に…

VBA で構造体

VBA

構造体ではなく、ユーザ定義型と呼ぶらしいです。内容的には大体一緒。 Type DataRecord name As String num As Integer End Type このとき、他の関数(Sub や Function)の下に書くと実行時にエラーになります。Type の宣言は一番上で行うのがいいようです…

配列のサイズを調べる

VBA

ついに VBA にも手をつけてしまいました。と、言っても仕事では以前から使っていますが、ますますなんでも屋の様相を呈してまいりました、という事で。それにしても Excel2007 が異常に使いにくくて仕方がありません。新しいインターフェースに慣れれば解決…