適材適所

システム屋のくらげが気ままに書いているブログです。PowerShellやVBAなどプログラミング系の話をメインに書いています。

MENU

VBA

【Excel VBA】色が付いているセル・色が付いていないセルを選択する

検証した環境 色の付いたセルを判別するVBAコード 色の付いたセルだけを選択するVBAのコード 終わりに セルの色を変えたいのだけれども、既にセルに色が付いているところはそのままにしておきたい!! セルの色が付いていないセルだけ、選択してセルの色を変…

【VBA】Notesカレンダーを取得する簡単なサンプル【繰り返し予定対応バージョン】

検証した環境 Notesカレンダーから繰り返し予定もちゃんと取得できるVBAのコード 終わりに 以前、HCL (旧Lotus、IBM)Notesカレンダーから予定を取得するサンプルを紹介しましたが、繰り返し予定がうまく取得できない!!というコメントを頂いておりました。…

【VBA】For~Next文の抜け方 3選【Exit For、Goto +1】

VBA

Exit Forステートメント 基本的な例 For文がネストされている(複数のFor文の)場合 GoToステートメント 悪魔のGoTo? ネストされていても関係ない 変数をいじる 注意点 終わりに プログラミングには必須の処理である繰り返し。 繰り返しの処理の中で特定の条…

【ExportAsFixedFormat】PDFで出力する方法を解説【Excel VBA】

ExportAsFixedFormatメソッド 補足 終わりに 今では当たり前になっているPDF。テレワークが増えて電子帳票の重要性が増している現在、PDF無しでパソコン仕事はできません。 Excel VBAでもPDFへの出力機能が標準で備わっています。 PDFとは「Portable Documen…

【Excel VBA】シートをコピーする方法の解説と要望

WorksheetのCopyメソッド 戻り値はない 終わりに たまにVBA触ると忘れているので備忘録に残しておきます。 Excel VBAで頻出のシートコピーについてです。 WorksheetのCopyメソッド WorksheetのCopyメソッドを使用することでシートをコピーできます。 Copyメ…

【VBA】フォルダ内のファイル一覧を作成する

説明 コード 終わりに Excelに特定のフォルダ内のファイル名の一覧を作成したい!! フォルダの中がちらかってしまったので一度整理したいが、現状どうなっているんだ?リスト化しなくては。 というわけで、そんな時に役に立つVBAのコードの紹介です。 説明 …

Personal CommunicationsをVBAで操作してAS400の作業をプチRPAする

IBM謹製のPersonal Communicationsのマクロ機能 VBAからPCOMMを操作してデータを入力する 前提条件 コード 各種オブジェクトの関係図 ほかにも色々できるよ!! 終わりに プチRPA!?な記事 AS400改め、IBMiは登場以来、いぶし銀の活躍を見せるオフコンで、 そ…

【VBA】テキストファイルの先頭に書き込む

VBA

テキストファイルの先頭に書き込みを行うコード 注意点 文字コード 終わりに FileSystemObjectを使う他の記事 VBAでテキストファイルに書き込むときに追記は簡単ですが、 先頭に書き込むのは意外と面倒だったりします。 先日、基幹システムからデータを取り…

【Excel VBA】名前の定義を削除する【幽霊定義】

VBAで名前の定義を削除する 幽霊定義 Namesオブジェクトの補足 終わりに Excelの機能の1つに名前の定義というものがあります。 セル範囲に名前を付けることで、その名前でそのセル範囲を呼び出せるというものです。 うまく使えば便利なんですが、 人からも…

【Excel VBA】フォルダ内のExcelシートを1つのブックにまとめる

どんな動きをするコード? コード 解説になっていない解説 注意点 終わりに VBAを使ってExcelをどうのこうのする関連記事 支店ごとにExcelが提出されてきて、 そのシートを1つのブックにまとめる作業が毎月ある・・・ なんてときや、 月ごとにブックが分か…

【Excel VBA】シートを並び替える

コード どんな動きをするコードか 実用性は? 終わりに 関連がありそうな記事 Excelを使っていると、いつの間にか大量のシートが・・・。なんてことありませんか? え?ちゃんと管理しているから大丈夫? そ、そうですか。 じゃ、じゃあ、他の人が作って、し…

【Excel VBA】セルの色を変えるのとフォントの色を変えるのはどっちが大変なのか

環境 大変な仕事の定義 検証用コード セルサイズ:デフォルト セルサイズ縦横200ピクセル セルサイズ縦横5ピクセル フォント文字無し フォント文字1個 フォント文字100個 フォント文字サイズ36 フォント文字サイズ5 まとめ 終わりに VBAのよくわからん検証系…

Excelでブックに問題が発生してしまうのはなぜか【原因はわかりません】

破損したものを修復すると どうして問題が発生してしまうのか⇒わからない PCに処理を渡さないことが原因? 終わりに Excelで作業していると、たまにExcelに問題が見つかりました という表示が出て、正常に開けなくなることがあります。 長く引き継がれてきた…

Excel VBAでセル内の数字だけを抽出する

Excel業務あるある GETNUMBER自作関数 例 コード 終わりに VBA・Excelの関数系の関連記事 Excel業務あるある なぜかセルの中に数字と一緒に単位がはいっている・・・。 セルの中から数字項目だけを取り出したい。 そんな経験ありませんか? 今回のExcel業務…

Excel VBAでフォルダを作成する

フォルダを作成するという苦行 Excel VBAを使ってフォルダを作成する 事前準備 コード 終わりに VBAでフォルダをいじっちゃう関連記事 年度の始めに、月数分のフォルダを作成したり、 日報用のフォルダを作成したり、 手作業でやるの面倒じゃないですか? そ…

Excel VBAで差し込み印刷を実現する

ExcelとVBAを使った差し込み印刷のやり方 part2です。 前回の記事では、差し込む先のテンプレートはシート内に1つだけでした。 Wordの差し込み印刷だと、1つのテンプレートに複数のレコードを差し込むことができます。 きっと差し込み印刷というとこっちを…

VBAの「行継続文字(_)を使いすぎています」について

行継文字とは 基本的にはあきらめましょう 固定文字の場合はテキストファイルやシートなど外部に保存する手も 基本的には継行文字は最小限にしましょう 終わりに Excel小ネタの関連記事 VBAでプログラミングをしていたら、こんなエラーが。 行継続文字(_)を…

Excel VBAでExcelシートを個別のブックに分割して保存する

Excel業務あるあるシリーズ。 複数のシートを独立したExcelファイルに分割して保存したい!! ちまちまコピーして保存して・・・と手作業でやるのは効率が悪い!! ということで今回は、Excelで、シートごとに別ブックに分割して保存するVBAの処理について紹…

Excel VBAで名前を指定してシートを大量に新規作成する

テンプレート的なシートをコピーして 沢山作らなくてはいけない・・・。 手作業でやってたら日が暮れる・・・。 あぁ、せっかく作ったのに、間違えてる・・・。 最初から作り直しだ・・・。 こんなの人がやる作業じゃねえええええ!!! その作業、1秒で終わ…

マイナンバーのチェックデジットをVBAで計算してみよう

VBAでマイナンバーを紐解いてしまいます

VBAでNotesのタスク一覧を取得する簡単なサンプル

おいおい、今時Notesって・・・ なんて思っても、なかなか抜け出せないのがNotes。 しぶとく生き残っています。 今回はそんなNotesの、機能の一つ、「タスク」 をVBAを使って取得してみたいと思います。 VBA×Notesシリーズ 環境 Notesのタスクとは? VBAでNo…

VLOOKUP関数とINDEX&MATCH関数の熱き戦い

Excelを使ってていて、VLOOKUP関数に1度もお世話になったことない人などいるだろうか。 VLOOKUP関数こそ、最強のワークシート関数だと思っていた時期が俺にもありました。 しかし、 万能だと思っていたVLOOKUP関数が使えない、 そんなときがあるのです。 そ…

Excel VBAでシートの一覧を作成しハイパーリンクを作成して目次を作る

Excel業務あるあるシリーズ Excelの仕様 シートの一覧を作成する ハイパーリンクを作成する 目次ページを追加するコード 目次だけだと・・・ 終わりに Excelで作業をしていたら、いつの間にか大量のシートが・・・。 他の人からもらったExcelなんだけど、シ…

VBAでNotesの特定のフォルダのメールを参照する

VBAを使って、Notesを操作するシリーズです。 今回は、特定のフォルダに格納されているメールを参照するサンプルを紹介したいと思います。 VBAでNotesを操作するシリーズ コード全体 コードの解説 おわりに VBAでNotesを操作するシリーズ VBAでNoteメールの…

ADODB.Streamでゴミデータ(Null文字)がある場合の挙動について

VBAでテキストデータをexcelに取り込むとき そもそもADODB.Streamって? ADODB.Stream#ReadLineでNull文字が含まれるファイルを扱うと Null文字がテキストファイルの途中にあるReadText(adReadLine)の挙動 用意したソース 用意したファイル Nullがはいってい…

VBAのRange.SpecialCellsメソッドについて

特定のセルを取得したい 何はなくともオブジェクトブラウザー 第一引数 第二引数 プログラムのスピードアップ対策に!!・・・なるか? 該当のセルが見つからない場合はエラーを返す これは「条件を選択してジャンプ」機能です 終わりに 特定のセルを取得し…

Excel VBAで使われるユーザーインターフェース8選

プログラムのユーザーインターフェースは極力シンプルであれ!! どんなユーザーインターフェースがあるか VBEの再生ボタンで実行 リボンにあるマクロ実行ボタン ショートカットキーを割り当てる コマンドボタン ユーザーフォーム リボンにオリジナルボタン…

Excel VBAでマクロからの変更のみ許可しているシートでマクロによるHyperLinkの削除ができない件

マクロからのシートの編集を許可しているはずなのに 試した環境 シートの保護機能について シートを保護した状態でハイパーリンクを削除できない!! マクロからのシートの編集を許可しているはずなのに とあるVBAプログラムを作成していたところ、マクロに…

ExcelVBAで差し込み印刷もどきをやってみる

Excel業務あるあるシリーズ 他のあるある Excelで差し込み印刷 想定されるケース Excelの差し込み印刷の考え方 ブックの構成 コードの実装 コードの解説 実行してみる 最後に 関連記事 Excel業務あるあるシリーズ どこかの誰かが、どこかで苦戦しているかも…

Excel VBAで表の列名とセルの列番号のスマートなマッピング方法

表の項目名と列番号のマッピング マジックナンバーで書いちゃう 列挙型を使って列名で列番号を定義する ADOを使ってアクセスする 最近落ち着いたところ 最後に 表の項目名と列番号のマッピング Excel VBAで表を扱うとき、表の列名とセルの列番号をどのように…