日本語入力ソフトとVBAの覚え書き

・各種日本語入力ソフトの辞書解説 ・ちょっと楽になるExcel VBA集

VBA(Excel)

(Office VBA) マルチディスプレイ環境でユーザーフォームを親ウィンドウの中央に表示する(2) 決定版

前回は、処理の流れを追いました。今回は実際どこにどのように記述すれば良いかを説明します。 実はこれまで自分で表示させるときには呼び出し元のSubプロシージャの方に記述していました。しかしそれだといちいち同じコードを記述しなくてはならず、元のSub…

(Excel) VBAでのヘッダーとフッターの記述方法

ヘッダーおよびフッターの記述書式 ページ設定のヘッダーおよびフッターの記述については以下を参考にしてください。 dz11.hatenadiary.jp ヘッダー/フッターの記述(1) ※VBA記述内容は全てダブルクォーテーション(" ")で囲って下さい。 設定項目 ダイアログ…

(Excel) VBAでのヘッダーおよびフッター指定に使える主なフォント名とスタイル名の一覧

VBA記述でのヘッダーおよびフッター指定に使える主なフォント名とスタイル名 ここでは、VBA記述でのヘッダーおよびフッターの指定に使える主なフォント名と対応するスタイル名を紹介します。内訳は、ほとんど全ての日本語フォント(@付の縦フォントを除く)、…

(Excel) ページ設定ダイアログと対応するVBAコード

はじめに VBAでのページ設定の高速化 PageSetupはシート(Sheet)に対して行う 「ページ」タブ 印刷の向き 拡大縮小印刷 拡大/縮小 次のページ数に合わせて印刷 用紙サイズ 日本で使う主な値 全ての値 印刷品質 先頭ページ番号 「余白」タブ 余白およびヘッダ…

(Excel) マクロに割り当てることの出来るショートカットキー一覧

訂正のお知らせ 2019.5.18 組み合わせ表で「Ctrl+Shift+O」と「Ctrl+Shift+Q」の内容が逆でした。既定値「コメントが入力されているセルを選択」があるのが「Ctrl+Shift+O」です。訂正してお詫び致します。 Excelでマクロに割り当てることの出来るショ…

素のVBAだけで画面の解像度を取得というか推測する手法(API使いません)

VBAで画面の解像度を取得したいときにWeb検索すると、WindowsAPIを使うとか、PowerShell経由で.NET APIを使うとかいう記事がよく出てきますが、結構面倒なイメージがあります。ここでは、そういうものを使わずにVBAだけで画面の解像度を取得というか推測する…

逆FIND:対象文字列を右(末尾)から検索して文字位置を取得するユーザー定義関数を作る

Excelの関数で、対象文字列を検索文字で検索したときに位置が何番目かを取得するワークシート関数「FIND」や「FINDB」がありますが、とても便利ですよね。これらの関数は「対象文字列を左(先頭)から検索したときの位置」を取得するものですが、「右(末尾)か…

セルの選択範囲アドレスをクリップボードにコピーする

Sub CopySelectedArea() ' ## 選択範囲アドレスをクリップボードにコピーする ## CS = Selection(1).Address CL = Selection(Selection.Count).Address SCI = CS & ":" & CL With CreateObject("Forms.TextBox.1") .MultiLine = True .Text = SCI .SelStart …

Officeファイルのプロパティを編集する (BuiltInDocumentProperties)

エクセルのプロパティ編集のコードを探していて、OfficeのうちWord, Excel, PowerPointにはBuiltInDocumentPropatiesとCustomDocumentPropatiesというものがあることが分かり、このうちBuiltInDocumentPropatiesについて調べてみました。 Word, Excel, Power…

Excelの色の設定について ~RGB指定, ColorIndex, SchemeColor~

Excel VBAでの色の指定方法には下記のようなものがあります。 ColorIndex指定 SchemeColor指定 組込定数指定 RGB指定 ColorIndex ColorIndexは、1~56の56色と、0(塗り潰しなし)を指定できます。主にフォントの色指定やセルの枠・背景の色指定に使います。 W…

InputBoxを使ってコメントを作成する(非表示オプション付き)

コメントを作成するとき、通常「コメントの挿入>内容を編集>場合によって非表示に設定」という流れです。現在仕事でやっている作業では大量の非表示コメントをどんどんつけていくということをやっており、通常の方法では非常に面倒くさいです。そこで、Inp…

マクロに割り当てられるショートカットキーについて ~エクセル編~

マクロにはショートカットキーを割り当てることが出来ますが、標準で設定されているショートカットキーもあり、それじゃあ一体どのキーなら使っていいの?ってなりますよね。 マクロにショートカットキーを割り当てる方法 マクロにショートカットキーを割り…

選択範囲のコメント位置をリセットする

行の切り取り&貼り付けを行っていると、コメント位置がぐちゃぐちゃになってくることが多いため、コメント位置をリセットするマクロを組んでみました。 Sub ResetCommentPosition() ' ** 選択範囲のコメント表示位置をリセットする ** Dim CL As Range Dim …

VBAマクロでオートシェイプを描画するときの基礎知識

VBAマクロでオートシェイプを描画する場合の基礎知識を紹介します。 座標系 オートシェイプの座標系は画面(セル範囲内)の左上を原点として右方向がX軸、下方向がY軸の、値はポイント単位のものになります。 ポイント単位とは? (2018.12.17追記) ポイントと…

コメント枠の自動サイズ調整を一括で有効にするマクロ

大量にあるシートのコメントが見えてたり見えてなかったりするものが多かったため、コメント枠の自動サイズ調整を一括で有効にするマクロを組んでみました。 アクティブシート内全てのコメント枠の自動サイズ調整を有効にする場合 Sub SetCommentAutoSizeInS…

Enterキーを押したときに移動するセルの方向(上下左右)を変更するトグルマクロ

通常、Enterキーを押したときに移動するセルの方向は「下」です。これを「右/上/左」に変更するには「Excelのオプション」を開いて「詳細設定」から変更することが可能ですが、やや面倒くさいです。ここでは、実行するたびに移動するセルの方向を変更するマ…

InputBox関数を数値を入力するまで繰り返す処理

InputBox関数で数値だけを入力させたい場合の処理です。 Do StrIB = InputBox("開始数字?") Loop Until IsNumeric(StrIB) = True Do~Loopを後判定で実行しています 後判定は最低1回は処理を実行します(この場合はInputBox関数) Untilは条件が成立するまで…

エクセルのコマンドボタン/自作VBAマクロの解説

基本的なこと リボン/クイックアクセスツールバーのボタン エクセルVBA 基本 ループ処理 分岐処理 セル シート ブック コマンド セルのコメント シェイプ 基本的なこと リボンとクイックアクセスツールバー リボン/クイックアクセスツールバーのボタン 「Exc…

セルのコメントを編集する(3) ユーザーフォーム編-1

前回までは InputBox関数を使ってセルのコメント編集を行いました。複数行に対応はしましたが、その方法は区切り文字を使うというちょっとまどろっこしいものでした。もう少し編集画面をなんとか出来ないかと思ったのがこの記事を作るきっかけです。 入力ダ…

セルのコメントを編集する(2) InputBox関数編-2 複数行対応

InputBox関数によるセルのコメント編集マクロ、前回は1行コメントの編集に対応したものを作成しました。今回はこれを元に複数行に対応させてみようと思います。 前回までのコード 単純に vbCrLf や Chr(13) & Chr(10) とはいかない 文字列を分割するSplit関…

セルのコメントを編集する(1) InputBox関数編-1

個人的に仕事で大量のコメントを追加しては日々編集しているんですが、こう大量にあるとエクセル標準のコメント編集機能ではちょっとまどろっこしいところがあります。何か入力ダイアログみたいなもので編集できると便利だなと思ったので今回はこれをやって…

シートのインデックスと名前と数、表示と非表示の制御

目次 目次 シートのインデックス番号と名前 現在のシートのインデックス番号と名前を表示する シートを移動させたらインデックス番号はどうなる? ブックに含まれるすべてのシートのインデックスと名前を表示する ブックに含まれるシートの数は? シートの非…

セルの内容を調べるExcelVBAコード

一口にセルの内容と言ってもいくつか考えられます。「値」だったり「テキスト」だったり「数式」だったり、また書式によっても内容はいろいろ変わりますよね。ここではいくつかの例を挙げてそれぞれの「セルの内容」を確認します。 コード Sub ShowCellData(…

VBAマクロをリボンやクィックアクセスツールバーのボタンに割り当てる

作成したVBAマクロを手軽に実行出来るように、リボンやクイックアクセスツールバーのボタンに配置してみましょう。 目次 目次 手順その1 リボンのユーザー設定を開く 手順その1 リボンのユーザー設定を開く リボンの任意の場所で右クリックしてメニューを開…

(基本) リボンとクイックアクセスツールバーについての説明

リボン タブとグループ 別のタブをクリックするとリボンの内容が変わります。 リボンの表示オプション リボンを折りたたむ リボンが折りたたまれた状態。タブのみが表示されています。 クイックアクセスツールバー クイックアクセスツールバーをリボンに下に…

最終セル、最終行、最終列を選択するExcelマクロ

最終セルとは 最終セルとは、値を入力されている、または、値が入力されていなくても書式が設定されている最も右下のセルのことです。 シートの最終セルを選択するマクロ Sub SelectLastCell1() Cells.SpecialCells(xlLastCell).Select End Sub または Sub S…

VBAマクロ作成を気軽に始めてみよう! ~Excel編~

ExcelでVBAマクロ作成を始めてみましょう。必要なのは Microsoft Excelだけです。準備は簡単、手順通りに進めていけば誰でも始めることが出来ます。 目次 目次 手順その1 ~開発タブを表示しよう~ 手順その2 ~個人用マクロブックにマクロを記録してみよう…

(Excel VBA) 作業中のブックを含むフォルダを開くマクロ

最近使ったブックからファイルを開いた後に、そのブックがどこにあったかなーって思うとか、分かるけど開くの面倒くさい階層だったりするときに、そのブックを含むフォルダを一発で開けたら楽だと思いませんか。そこでこのコードです。"\"は半角の"¥"と読み…

(Excel VBA) シートのゼロ値(0)を表示および非表示にするトグルマクロ

「シートのゼロ値を表示する または 表示しない設定」は「ファイル」タブから「オプション」を開き、「詳細設定」の中に項目があり、設定(オン/オフ)を切り替えるのが大変煩わしいです。 そこで、VBAマクロを組んで「ゼロ値のオン/オフ」を簡単に切り替えら…

(Excel VBA) よく使うブック、シート、セルの指定方法

VBAのコードでよく使うブック、シート、セルの指定方法をまとめてみました。 ウィンドウ ブック シート セル (単一セル) セル (範囲) 行 列 最終セル、最終行、最終列の選択 ウィンドウ Excel2010までは一つのウィンドウ内にブックが複数存在できるMDI方式で…