適材適所

PowerShellやVBAなどプログラミング系の話多めで

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ファイルに分割して保存したい!! ちまちまコピーして保存して・・・と手作業でやるのは効率が悪い!! ということで今回は、シートごとに分割して保存するVBAについて紹介したいと思います。 Exce…

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

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

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

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

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

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

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

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

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で表を扱うとき、表の列名とセルの列番号をどのように…

VBAでNoteメールの添付ファイルを保存する

VBAでNotesメールの添付ファイルを保存する コード ローカルへの保存手順 おわりに 参考サイト様 VBAでNotesメールの添付ファイルを保存する VBAを使ってNotesメールを操作するシリーズです。 以前、Notesメールの一覧を取得する記事を書きましたが、その続…

VBAでキーごとにシートに分ける簡単なサンプル

Excel業務あるあるシリーズ 他のあるある VBAでキーごとシートに分ける!! サンプルデータ VBAでキーごとシートに分ける処理の流れ VBAでキーごとシートに分けるコード コードの解説 ①血液型ごとのシートを準備する ①-1dummyシートの設定・最終行の取得 ①…

WinHTTPとVBAでウェブから画像をダウンロードする

この記事では WinHTTPで画像をダウンロードするためには WinHTTPで画像をダウンロードするサンプルを作成する コード コードの解説 おわりに 参考サイト この記事では WinHTTPの実践的な使い方の例としてVBAで画像をダウンロードする方法を解説しています。 …

WinHTTPとVBAでウェブサイトのリンク一覧を取得する

この記事では WinHTTPでスクレイピングしてリンクのURL一覧を作ってみる コード コードの解説 おわりに 参考サイト この記事では WinHTTPの実践的な使い方の例としてリンクの一覧を取得するサンプルを作ります。 HTMLの(最低限の)知識が必要です。 シリーズ…

WinHTTPとVBAでHTTPを理解する

この記事では WinHTTPを操作するためのHTTPの最小限の理解 HTTPとは HTTPの通信の中の位置づけ HTTPの通信の概略 HTTPクライアントの要求 メソッドとは パスとは ヘッダとは ボディとは ウェブサーバの応答 レスポンスコードとは ヘッダとは ボディとは まと…

WinHTTPとVBAでスクレイピングをしてみる

この記事では VBAでWinHTTPを使う VBAでWinHTTPを使う準備をする 試しにWinHTTPでスクレイピングしてみる コードの解説 とりあえずやってみたが・・・ この記事では VBAを使ったスクレイピングの一つの手法であるWinHTTPを使ったスクレイピングの例を紹介し…