適材適所

WindowsやPowerShellやネットワーク、IBMなどのシステム系の話など気になったことも載せているブログです。

Excel

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

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

TextJoin関数で連結する文字を囲んで連結したい

Excel 2019で登場した、待望(?)の文字列連結関数、TextJoin。 これが登場する前は、VBAで関数をちょこっと自作してましたが、もうその手間から解放されますね。 今回は、そのTextJoin関数のちょっとした応用例として、連結する文字を特定の文字(ダブルク…

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

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

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

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

【PowerShell】政府統計の総合窓口APIと戯れる

政府統計の総合窓口 APIの例 アプリケーションIDを作成する 実際にAPIを使ってみよう Excelの力を借りてグラフ化する グラフ化はPowerShell単体ではできない 処理の流れ コードの全体 ほとんどVBAになってしまった jsonから値の属性を取得してシートに書き込…

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

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

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

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

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

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

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

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

Excelのセル内改行コードはLFとCRLFのどちらでもいいのではないか説

この記事では セル内の改行コードはlf,crlfのどちらでもいけるのではないか説 結論 環境 経緯 小さな実験 準備 結果 ちなみにCRやLFとは CRとは LF 終わりに この記事では Excelのセル内の改行コードについて考察しています。 セル内の改行コードって本当は…

挫折した人のためのVBAクラスモジュール入門_その3

この記事では オブジェクトの情報を定義する場所がクラスモジュール クラスモジュールのコード クラスモジュールの文法的な話 オブジェクトを生成する まだまだ役に立つオブジェクトではない この記事では VBAのクラスモジュールの使い方を解説しています。 …

VBAでウェブスクレイピング_IE操作編_その1

Internet Explorereはサポートが終了します! Internet Explorerを使ってウェブスクレイピング お題をどうするか お題はこのブログの記事タイトル一覧を取得する IEを操作するためには、「InternetExplorer」オブジェクトを使う ウェブページにアクセスする …

VBAにおける文字列検索はどれが一番速いのか_中間編

VBAで特定の文字列が含まれるか検索するのに一番速いのは誰だッ!? 出場選手紹介ッ!! 闘技場(検証した環境) ルール テストしたプログラム 闘いの行方は・・・? チャンピオンはInstr関数!! 総括 VBAで特定の文字列が含まれるか検索するのに一番速いのは…

VBAにおける文字列検索はどれが一番速いのか_先頭編

はじめに テストする機能 テストした環境 比較内容 結果 一番速いのはlike演算子!! テストしたプログラム はじめに 文字列の中から特定の文字列を検索する場面はよくある場面かと思います。 どの検索方法が最速なのか、検証してみました。 今回は、先頭の…

挫折した人のためのVBAクラスモジュール入門_その1

はじめに 現場で使えるようなものを作っていきます 題材は「ネ申エクセル」 なぜネ申エクセル? シートの情報をオブジェクト化する このコードはシートの値を書き出しているだけ はじめに クラスモジュール、気になって調べてみたことありませんか? 名前は…

【VBA】ADOでCSVにアクセスする

はじめに Openを用いたCSVへのアクセス ADOを用いたCSVへのアクセス 簡単な解説 サンプル はじめに csvファイルをExcelに取り込むという、需要は地味にはびこっている気がします。 Power Queryなどの手段も増えてきましたが、VBAで簡単にできると便利です。 …

Excel VBAでAccessへの接続をSQLで簡単に行う

Excel VBAからAccessを操作する ADOによる接続をカプセル化(ラッピング)するクラス ConnectionFactoryでAccessへの接続をラッピングする ConnectionWrapperクラスでレコードの操作などカプセル(ラップ)する ExcelからAccessへ接続する レコードを追加する 終…