VBA

VBAで別のブックを開く/閉じる

VBAから別のExcelブックを開いたり閉じたりする方法について書きます。 1.Excelブックを開く(Workbooks.Open) 2.Excelブックを閉じる(Workbook.Close) 3.テストしてみる 1.Excelブックを開く(Workbooks.Open) VBAからブックを開く為には、Workbooks.…

VBAでの範囲指定(Rangeオブジェクトの利用)

VBAでの範囲指定について書きます。 VBAで 指定したセルの値を取得・設定する 指定した範囲のセルを繰り返し操作する といった場合に範囲指定が必要になります。 VBAでセル範囲を指定するためには、Rangeオブジェクトを利用します。 参考:Range オブジェク…

Excelで指定行へジャンプ(スクロール)する

Excelで指定行へジャンプ(スクロール)する方法について書きます。 (完成イメージ) 上記の様なイメージで希望したセル(のある行)までジャンプしたいのですが、 Excelの標準機能にはそのような機能はありません。 ということで、VBAで実現します。 (2014…

Excel起動時にVBAマクロへショートカットを自動設定する

VBAマクロへショートカットを割り当てる方法について書きます。 タイトル以外にも、いくつかの方法について、ご紹介します。 [目次] 1.マクロの記録時にショートカットを割り当てる 2.Excelのマクロメニューからショートカットを割り当てる 3.VBAのOnK…

ブックを開いた時やExcel起動時にマクロを自動実行する

通常Excelマクロは、マクロの実行メニューや(登録済みの)ショートカットから呼び出さなければ実行できませんが、 「ブックを開いた時やExcel起動時にマクロを自動実行したい」 と思う時がしばしばあります。 [目次] 1.ブックを開いた時にマクロを自動実行…

Excelで直前に参照していたシートに戻る(シートの参照履歴を保持する)

Excelで直前に参照していたシートに戻る方法について書きます。 Excelの標準機能では、以下のショートカットでシートを移動できます。 (1) Ctrl+PageUP…左のシートへ移動 (2) Ctrl+PageDown…右のシートへ移動 (図:Excel標準機能によるシート間の移動) しか…

VBAで特定のワークブック/ワークシート/オートシェイプ(図形)が存在するかチェックする

VBAで以下を実現する方法について書きます。 1.特定のワークブックが存在するか(開いているか)チェックする 2.特定のワークシートが存在するかチェックする 3.特定のオートシェイプ(図形)が存在するかチェックする 参考 Workbook オブジェクト (Ex…

VBAで任意フォルダのファイル一覧を取得する(Dir関数の使用)

VBAで任意フォルダのファイル一覧を取得する方法について書きます。 マクロから外部ファイルを読込む様な処理で、 (任意)フォルダ直下の全ファイルについて処理したい場合に有効です。 VBAで任意フォルダのファイル一覧を取得する(Dir関数の使用) 参考 Dir関…

VBAで(オートシェイプ(図形)を含めた)シート上の全ての文言を取得する

VBAでワークシート上にある全ての文言を取得する方法について書きます。 1.オートシェイプ(図形)の文言を取得する セル内の文言はRange("A1").Valueなどで簡単に取得できますが、 以下の様なオートシェイプ(図形)に含まれる文言は Shapesオブジェクト…

VBAでExcelにワークシートを追加する

ググればいくらでもでてくると思いますが、VBAでExcelにワークシートを追加する方法です。VBAでExcelにワークシートを追加する(Worksheets.Add) 「Worksheets.Add」の処理でワークシートを追加します。 他のマクロから呼び出して使えるように、Functionに…

VBAでシートのデータがある最終行列を取得する

マクロを作成する際に、シート上の(データがある)最終行列を取得したくなる時があります。(ループ処理したり) ということで以下のプロシージャを作成。 データがある最終行列を取得する[ソース] Private Sub getRange(sheetName As String, lRow As Long…

VBAでテキストファイルを読み込み/書き込み

VBAでテキストファイルを読んだり書いたりするために、マクロを作成。 かなり参考にさせていただいたサイト [Excel]Excel VBAでUTF-8のテキストファイルを扱う(ADODB.Stream)Add Star 1.テキストを読み込む テキストファイルをStringまたはString配列で読…

VBAで印刷設定をコピーする

Excelで特定シートの印刷設定を他のシートにもコピーしたかったのでマクロ化。 コピー対象の印刷設定 ・印刷ヘッダ(左、中、右) ・印刷フッタ(左、中、右) 以下ソース Sub ★印刷設定のコピー() '------------------------------------------ 'setPrintConf…