VBA

マイクロソフト

VBAで複数の変数を宣言するときの注意

VBAで変数を宣言するときは「Dim」を使います。複数の変数を宣言する場合の注意についてコメントをいただきましたので紹介します。Sub test() Dim a, b As Long a = "Hello" b = "Hello"End S...
Excel

VBAのユーザー定義関数で引数を省略

VBAのユーザー定義関数で引数を省略する方法です。下に示す関数はaとbの二つの引数を与え、合計を返します。引数に「Optional」を付けると省略することができます。また初期値を与えることができます。Function kansu(a, Op...
Word

ルビを括弧付のテキストに変換するマクロ

Wordにはルビ(ふりがな)を付ける機能があります。これを解除して括弧付のテキストに変換するマクロを考えました。マクロを実行すると編集中の文書の全てのルビを変換します。例えば「りんご」というルビが付いた「林檎」を「林檎(りんご)」に変換しま...
Word

Wordで全ての図形を削除するマクロ

Wordの文書上にある全ての図形を削除するマクロを考えます。「ActiveDocument.Shapes」を使うとアクティブな文書(Document)にある図形を取得できます。まず思い付く方法は「For Each」を使って処理する方法です。...
Excel

選択範囲の8桁の文字列を日付に変換するマクロ

年月日を8桁の文字列、例えば「20130518」と表わすケースがあります。これをExcelで使用するためにはシリアル値に変換する必要があります。結構、面倒ですので、これをマクロで行うことを考えます。次は、選択範囲の8桁の文字列を日付(シリア...
Excel

VBAのエラートラップを使うには

Excelのマクロでエラーが発生したとき、通常はそこで処理が止まります。「On Error GoTo」構文を使えばエラーが発生したときに別の処理を実行させることができます。この「エラートラップ」を使うためには、VBエディタの設定をしておく必...
Excel

ブック全体を印刷するマクロ

Excelでブック全体、すべてのシートを印刷するマクロです。Sub ブック全体を印刷() For Each s In Sheets s.PrintOut NextEnd Sub頻繁にこのマクロを使うという場合にはクイックアクセスツールバーに...
Word

Wordの脚注と括弧書きを相互に変換するマクロ

概要Wordの脚注部分を本文中に移動させるマクロを考えてみました。脚注は注意書きが各ページの下部に表示されるイメージですが、これを括弧で括って本文中に戻します。これによりテキストファイルにしても注意書きが失われません。逆に本文中の括弧書きを...
Word

Wordの脚注一覧を作成するマクロ

Word文書中の脚注を一覧にまとめるマクロです。脚注の文字列を集めて、文書の最後に挿入します。
Excel

日付をカウントするユーザー定義関数「COUNTDATE」

選択範囲の日付を条件に応じてカウントするユーザー定義関数を作ってみました。VBAFunction COUNTDATE(hani As Range, nen As Long, tsuki As Long, hi As Long) As Lon...