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

・各種日本語入力ソフトの辞書解説 ・ちょっと楽になるWord/Excel VBA集 ・ボーダーブレイク用語辞書

VBA(Excel)

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軸の、値はピクセル(ポイント)単位のものになります。 選択範囲から得られる座標値 描画をするにあたり、その位置を決定するために…

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

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

(Excel VBA) 縮小して全体を表示するコマンドをボタンにする

「縮小して全体を表示する」って割と使うと思うんですけど、ボタンがないんですよね。いつもわざわざ「セルの書式設定」開いて設定してるんですが、正直面倒くさいですよね。なので、VBAでコマンド作ってボタン化しています。 コード Sub DisplayWholeByRedu…

(Excel VBA) 選択範囲に同じコメントを表示状態で一括で追加する/コメントのみ貼付

はじめに Excelのセルのコメント追加って面倒くさいですよね。 セルで右クリックでコメント追加 コメントを編集 ボールドを外す フォントサイズを変更 背景色を設定 自動サイズ調整 マクロで一発 これがボタン一発で出来ればどれだけ楽か! あと、コメントだ…

(Excel VBA) 選択範囲、選択シートに対する処理の定型的書き方

選択範囲 Sub Sample1() ' ** 選択範囲に対する処理 ** Dim CL As Range For Each CL In Selection ' ここで、 ' Selection = 選択範囲の全てのセル ' CL = 選択範囲の個々のセル ' を示す。 ' CLに対する処理を書くとFor Each~Nextでループして全ての選択…

(Excel VBA) セルのコメントを一括で表示・非表示にする

目次 目次 (追記) 気付いたんだけど、校閲タブのコメントグループにボタンがあった セルのコメントを一括表示する はじめに 選択範囲のセルのコメントを一括で表示にする アクティブシートに含まれるコメントを一括で表示にする 非表示の場合 (追記) 気付い…

(VBScript) XLSTARTフォルダを開く (無い場合は作成して開く)

Excelで個人用マクロファイル(Personal.xlsb)を作るなど、XLSTARTフォルダを開かせる場合があると思いますが、ユーザープロファイルの奥なのでちょっとややこしいですよね。そこでVBScriptで開くようにしてみました。追記(2017.7.13):フォルダが存在しない…

追記あり (Excel VBA) 選択範囲の全角スペースおよび半角スペースを一括で削除する

注意点 (2017.7.18追記) 2017年4月の追記以降、しばらく運用してみたんですが、原因は不明なんですけど、やっぱりどうしても選択範囲だけじゃなくてワークシート全体のスペースが一括で削除されてしまうことが多いので、もうちょっと考えた方がいいのかなと…

(Excel VBA) 選択範囲の全角半角変換

はてな記法の練習も兼ねて。> はてな記法一覧 - はてなダイアリーのヘルプ趣味と実益を兼ねたVBA。仕事を楽にするために一応使ってる。 今回は全角→半角変換。まあ基本と言えば基本だが…… Sub W2N1() ' ★★ 選択範囲:全角→半角 ★★ Dim i, j As Long '選択範…