Excel

Excel

「.Calculation」と「.EnableCalculation」のどちらが効果的か

Excelのマクロの処理を高速化するために、マクロの実行中のワークシート上の計算を止めるという方法があります。通常はセルの内容が変われば自動的に計算されます。これを一時的に停止しマクロの実行後に元に戻すという方法です。二つ方法があります。
Excel

複数のセルに値をセットするときは配列を使うと処理が速い

Excelでマクロを使って複数のセルに値をセットする場合、通常は次のようにすると思います。次のサンプルはA1セルからJ10セルまでの範囲に行番号と列番号の積をセットします。九九の表のような感じです。
Excel

Excelの列番号を英字に変換するユーザー定義関数

「(1,1)」のセルならば「A1」と表示したいのですが、これを行うには、1ならばA、2ならばB、27ならばAAというように、列を英字に変換する必要があります。ヘルプを調べましたが見付からなかったのでユーザー定義関数を作ってみました。
Excel

「Excel方眼紙」の発生原因を考える

Wordで作成すべき文書をExcelで作成してしまう人は多いです。Excelは表を使うケースや自動的に計算する必要があるケースに限って使うべきで、その他の文書はWordを使った方がよいのですが、これが理解できない人が多いです。これを極めたの...
Excel

JavaScriptの配列関連メソッドをVBAのユーザー定義関数に

VBAでも配列が使えますが、今一つ使いにくいです。配列関係の関数が少ないからでしょうか。そこでVBAの配列について勉強を兼ねてJavaScriptの配列関連メソッドと同様の処理をするユーザー定義関数を考えてみました。変数 a, b, c は...
Excel

Excel、VBAで正規表現によるマッチング

概要前にExcelで正規表現による置換をするためのユーザー定義関数を考えました。このユーザー定義関数はワークシートでもVBAでも使えます。
Excel

Excelの表をHTMLのtableに変換するマクロ

HTMLで表を作るにはtableタグを使いますが、結構、面倒です。Excelで表を作り、HTMLとして保存することができますが、余計なタグが満載です。Excelの表から必要最小限のHTML(tableタグ)に変換するマクロを作ってみました。
Excel

アクティブシート以外を削除するマクロ

最近では主流となったタブブラウザですが、例えばFirefoxだと「他のタブをすべて閉じる」という機能があります。これをExcelに応用して、アクティブシート以外のシートをすべて削除するマクロを作ってみました。なお一々、確認ダイアログが出てし...
Excel

マクロでシートのページ数を求める

「HPageBreaks.Count」を使うと水平方向の改ページの数が分かります。ページ数はこれに1を加えた数です。「VPageBreaks.Count」を使うと同様に垂直方向の改ページ、ページの数が分かります。総ページ数は水平方向と垂直方...
Excel

VBAでVLOOKUPを使う

Excelのマクロで、ある番号に合致した行の値を返す処理が必要になりました。まず思い付いたのが最初の行から1行ずつチェックをする方法。これだと行が多いと処理時間がかかります。次に思い付いたのが「Find」を使う方法。これだとさほど時間がかか...