家でも会社でも睡眠中でも、いつもExcelとVBAのことばかりを考えている私がExcelVBAを使って日常や業務を効率化するためのテクニックを書き綴っていくブログです。
今日 | 04/24 | 04/23 | 04/22 | 04/21 | 04/20 | 04/19 | 全参加数 | |
---|---|---|---|---|---|---|---|---|
総合ランキング(IN) | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 1,034,336サイト |
INポイント | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0/週 |
OUTポイント | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0/週 |
PVポイント | 1,088 | 1,346 | 1,300 | 1,176 | 262 | 280 | 1,238 | 6,690/週 |
その他ブログ | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 8,064サイト |
IT技術ブログ | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 9,759サイト |
IT技術メモ | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 1,576サイト |
VBA | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 118サイト |
今日 | 04/24 | 04/23 | 04/22 | 04/21 | 04/20 | 04/19 | 全参加数 | |
---|---|---|---|---|---|---|---|---|
総合ランキング(OUT) | 66,275位 | 66,275位 | 66,163位 | 66,390位 | 66,310位 | 63,919位 | 61,179位 | 1,034,336サイト |
INポイント | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0/週 |
OUTポイント | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0/週 |
PVポイント | 1,088 | 1,346 | 1,300 | 1,176 | 262 | 280 | 1,238 | 6,690/週 |
その他ブログ | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 8,064サイト |
IT技術ブログ | 505位 | 505位 | 501位 | 495位 | 456位 | 398位 | 290位 | 9,759サイト |
IT技術メモ | 104位 | 104位 | 105位 | 102位 | 97位 | 87位 | 71位 | 1,576サイト |
VBA | 19位 | 19位 | 18位 | 17位 | 17位 | 15位 | 11位 | 118サイト |
今日 | 04/24 | 04/23 | 04/22 | 04/21 | 04/20 | 04/19 | 全参加数 | |
---|---|---|---|---|---|---|---|---|
総合ランキング(PV) | 3,315位 | 3,319位 | 3,302位 | 3,312位 | 3,274位 | 3,269位 | 3,244位 | 1,034,336サイト |
INポイント | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0/週 |
OUTポイント | 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0/週 |
PVポイント | 1,088 | 1,346 | 1,300 | 1,176 | 262 | 280 | 1,238 | 6,690/週 |
その他ブログ | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 圏外 | 8,064サイト |
IT技術ブログ | 34位 | 34位 | 34位 | 34位 | 35位 | 34位 | 33位 | 9,759サイト |
IT技術メモ | 20位 | 19位 | 19位 | 19位 | 20位 | 20位 | 20位 | 1,576サイト |
VBA | 7位 | 7位 | 7位 | 7位 | 7位 | 7位 | 7位 | 118サイト |
VBAの実行時エラー「無効な前方参照か、コンパイルされていない種類への参照です。」の原因と研究記録
2023年12月から2024年1月にかけて、Excel VBAで実行時エラー「オートメーションエラーです。無効な前方参照か、コンパイルされていない種類への参照です。」が多発しているようです。 更に関係あるか不明ですがVBAプロジェクトが完全に読めなくなるという事象も起きているようです。※末尾関連ツイート参照 以前Twitterに書いた内容ですが、最近閲覧数が急激に増えているためブログにもまとめておきます。 -------------------- 実行時エラー '-2147319767 (80028029)': オートメーション エラーです。 無効な前方参照か、コンパイルされていない種類への参…
Microsoft365 ExcelとFormsが同期するアンケートフォームを作成する方法
本記事では、Microsoft365 Formsのアンケートフォームの回答結果を、OneDriveに保存したExcelブックへ自動的にテーブル形式で蓄積させる方法を説明します。 こちらは「Formsで収集したアンケートの結果をデスクトップExcelで読み込む方法」シリーズの2本目の解説記事です。 www.excel-chunchun.com 目的 作成したいフォームと、取得したいエクセルデータのフォーマットは、前回と同じものです。 www.excel-chunchun.com 前回との違いは「回答結果が同一のExcelファイルに同期するかどうか」です。 それに合わせて【Excelで開く】を押し…
Microsoft365 Formsでアンケートフォームを作成する方法
本記事では、Microsoft365 の Formsでアンケートフォームを作成して、配布し、回答をExcelで開くまでの最低限の方法を説明します。 こちらは「Formsで収集したアンケートの結果をデスクトップExcelで読み込む方法」シリーズの1本目の解説記事です。 www.excel-chunchun.com 目的 アンケートフォームサンプル 今回作成するフォームは、社員が毎日の体温を書いて送信するという、実用性があるのか分からない感じの超単純なフォームです。 回答エクセルデータサンプル 対象 本記事は、企業版のMicrosoft 365 を想定して説明しています。 (Basic プランでも…
Formsで収集したアンケートの結果をデスクトップExcelで読み込む方法(目次)
Microsoft365の機能の一つであるFormsのアンケートフォームを使って情報を収集し、その結果をデスクトップアプリのExcelへ読み込むことで、データをVBA等で使いやすい状態にする方法を、先日Zoomで説明させて頂きました。 資料を準備せずに開催したので、本日より手順を文章化していきます。 Formsを使う意味 クラウドサービスが無い頃は、ExcelやWordでアンケートフォームを作成し、メールで社員に拡散してメールで受け取ったファイルをVBAで集計するという作業が数多く見られました。(VBAで集計しているだけマシかもしれませんが) 昨今はクラウドサービス上でアンケートフォームを作成…
よく Excel VBA の Application.Wait と WindowsAPIの Sleep は何が違うんですか?という質問をされることがあります。これは、疑問に思うのは無理もありません。結果だけ見れば「待つ」という同じ機能に見えます。 しかし、両者は全く異なったアプローチによって「待つ」実現しており、それぞれに適した使い方があります。 この記事では、筆者の個人的な経験と推測に基づいて、両者の違いを比較・解説していきます。 一般的な使用例 解説へ入る前に、一般的なWaitとSleepの書き方を紹介しておきます。 ※コード中の Rem はコメントです。 Application.Wait…
VBAでパブリックなコンパイラ定数を定義して条件付きコンパイル制御を行う
VBAには、環境に応じてソースコードの使用する箇所を変える「条件付きコンパイル」という仕組みがある。 この記事では、独自のコンパイラ定数を定義し全てのモジュールのコンパイルを一括で制御する方法を解説する。 よく見かけるWindowsAPIのコンパイル制御 コンパイラ定数とは ディレクティブとは #ConstにPublicを書けない問題 パブリックなコンパイラ定数の作り方 余談: If VBA7 Then は省略表記かもしれない 複数のコンパイラ定数の書き方 条件付きコンパイル引数の限界 まとめ:コンパイラ定数の種類 おまけ:条件付きコンパイル引数の活用事例 最後に よく見かけるWindowsA…
なぜ個人用マクロブック(PERSONAL.XLSB)を使うのか
ExcelにはVBAで記述されたマクロを任意のブックで再利用するための常駐型のブックが存在し、これを「個人用マクロブック」あるいは「PERSONAL.XLSB」と呼ばれる。 この記事では、私がなぜ個人用マクロブックを使っているのか。どんなことに気をつけて使っているのか説明する。 個人用マクロブックとは 個人用マクロブックを使ってみる なぜ個人用マクロブックを使うのか マクロがすぐに使える態勢になっているから 普通のブックにはマクロが記載できないから マクロを保存せずに閉じてしまうことがあるから 個人用マクロブック活用のコツ ブックやシートはアクティブなものを使うが、必ず変数に格納してから使用し…
普段、私はテーブルを好んで使用しています。テーブルを使う理由、テーブルを使わない理由について、個人的に思いつく限りのことをダラダラと書いてみました。 個人的な解釈に基づいた表現をしており、見方によっては評価が逆転することもある点にご注意ください。 テーブル化するメリット 良い感じに交互着色とオートフィルタが設定される(好みによる) ウィンドウ枠の固定が不要(好みによる) スライサーが設定できる 範囲選択が簡単になる(Ctrl+Space / Shift+Space / Ctrl+Shift+Space / Ctrl+A) セル結合が絶対に使われていない表にできる 列の数式が自動入力される デー…
お久しぶりです。最近ブログ書いていなかったのでリハビリがてら、今年買って良かったものをまとめてみました。 よかったら参考にしてください。 Anker PowerCore III 10000 Wireless (ワイヤレス充電機能搭載 10000mAh 大容量 モバイルバッテリー) 【ワイヤレス出力 10W / USB-Cポート出力 18W / PD対応 / Qi認証 / PSE技術基準適合】 ¥6,000 Apple MagSafe充電ケーブル Anker Soundcore Liberty Neo 2(ワイヤレス イヤホン Bluetooth 5.2)【完全ワイヤレスイヤホン/ワイヤレス充電…
ExcelVBAでワークシートからユーザー定義関数が使える条件と隠す方法
ExcelVBAでは、Excelワークシートの数式からVBAに記載したFunctionプロシージャによって宣言された関数を既存の関数(SUM等)と同じように使用することが出来ます。 しかし、表示されているのにエラーとなったり、表示されていないのに使えてしまったりという、よくわからない挙動をします。 今回は、この辺りの解説をしていきます。 重要事項 入力候補に関数名が出ないからと言って使えないわけではない ワークシート上でも モジュール名.関数名 と書くことができ、モジュール名が省略された場合はVBAが自動的に選択している。 関数名が重複するとモジュール名から記載が必要になる クラスモジュールに…
ExcelVBAはどのようにプロシージャを分割すると良いのか(前編)
概要 私がVBAでプログラミングをするときは、プロシージャを3つの階層に分けて作るように意識している。 今回は私のプロシージャ分割の考え方を紹介する。 本記事では自分が説明しやすいようにプロシージャを次の2種類に分けて表記する。 マクロ・・・ユーザーの行動によって起動するプロシージャおよび機能のこと。基本的には引数を持たない Subプロシージャ のみが該当する。 関数・・・・ Functionプロシージャ の他、他のVBAコードから呼ばれる一定以上の抽象度を持つサブルーチンSubも含める。 例 これから説明しようとしていることを満たしている最低限の開発例 分割単位 私が提唱するプロシージャの分…
パソコンとスマホの音声をBluetoothイヤホンで同時に聞く方法
近年、Bluetoothイヤホンがかなり普及してきました。 以前は3.5mmイヤホンジャックがないスマホはダメだと言われたものですが、最近ではめっきり聞かなくなりましたね。 さて、そんな便利なBluetoothですが、どうしても解決したいと考えている課題がありました。 それが、タイトルの「パソコンとスマホの音声を同時に1つのBluetoothイヤホンで聞く方法」です。 「同時に接続」ではなく「同時に聞く」というのがポイントです。つまり2つの音声をミックスしてくれないといけません。 そして、私の知る限りにおいて、同時に聞くことが出来るイヤホン/ヘッドホンは全くありません。 この記事は、そんな環境…
VBAのユーザーフォームに配置されたリストボックスのアイテムをボタンクリックで上下できるフォームを作成したので紹介する。 作ったもの リストボックスのアイテムは複数選択・2列表示できるようにする 【追加】を押したらテキストボックスの文字列をリストボックスにアイテムを追加する。ただし、もしスペースで区切られている場合は2列に分割する 【削除】を押したら選択しているアイテムを削除する 複数のアイテムを【上ボタン】【下ボタン】によって上下移動できるようにする 【スピンボタン(アップダウンボタンとも言う)】を使うことで、クリック連打や長押しによる上下移動もできるようにする ソースコード全文 まとめ
VBAのユーザーフォームで十字キーを押すとチェックボックスやトグルボタンがONになる問題の解決策
今日はVBAの長年の疑問であった、十字キーを押すとチェックボックスやトグルボタンが押し下げ状態になる問題の解決策を発見したので記録に残す。 問題の再現方法 解決策 何故これが解決策になるのか 1.なぜテキストボックスの入力制限はKeyDownなのにチェックボックスのチェックの阻止はKeyUpなのか 2. なぜ値渡しなのに呼び出し元に影響を与えることができるのか 3. なぜ修飾キーは押すことができないのか 参考資料 まとめ
VBAでFunctionとProperty Getを使い分ける理由
VBAの Function と Property Get は非常に似ています。 検索して出てくる説明では、両者を何故使い分けているのか、今ひとつシックリこない人が多いと思います。 そこで、私がなぜプロパティを使い分けているのか説明します。 プロパティとは Property Get と Function で何が違うの? 1. アイコンが違う 2. ローカルウィンドウに表示される 3. Callできない 4. 値の設定にも同じプロシージャ名が使える プロパティの注意 1. ブレークの度にプロパティが走る 2. 別にクラスを使わなくても良い 3. プロパティにも引数を持たせられる まとめ
ブラウザにsheet.newやexcel.newと入力して素早く表計算を始めよう
ブラウザのURLに sheet.new と入力したらGoogle Spreadsheetを。excel.new と入力したらMicrosoft Excelの新規作成画面を開けることはご存知だろうか? 実は サービス名.new で、いきなり新規作成を開けるWEBアプリが多数存在する。 2020年 からGoogle が .new ドメインを誰でも取得できるようにしており、我々の知らぬ間に続々と対応サービスが増えているらしい。 現在使用可能なドメインは、.new - Google Registry で閲覧できる。 よく使うアプリが対応していないか、チェックしておくと良いかもしれない。 活用方法 もっ…
私がWordやExcelによるマニュアル執筆と印刷物の配布に痺れを切らして、社内向けのWikiサイトを立ち上げたときの話をします。 概要 まず、何がどうなったのか説明すると... 前提 以前はこんな状態・環境でした。 マニュアルはメールにPDF形式で添付されて飛び交い 情報を共有できるポータルサイトが存在せず 過去のマニュアルは行方不明 たまにファイルサーバーに保管されているが、古すぎてやくたたず 更新しようにもPDFなので作り直し 結果 (私が執筆に関わるマニュアルに限った話ですが)こうなりました。 マニュアルはWikiにて執筆 出来るだけURLで共有 WEBアクセス不能な人には、ページをP…
先日、私はiPhone12 Proを購入した。 www.excel-chunchun.com 既存のiPhone7は手元に置いておき、今後も予備機として役に立ってもらうつもりだった。 ところがiPhone12を買った途端にiPhone7が壊れてしまい文鎮と化した。 いったい何が起きたのか、どうしたら良かったのか、後世のために書き残しておきたいと思う。 注意 ※12を購入すると7の故障に繋がるわけではありません。安心して12をお買い求め下さい。 今北産業 iPhone12を買ってから数日後に、iPhone7のホームボタンが故障 操作をミスってとどめを刺してしまう 偉大なるSiriの力で命を吹き替…
iPhone7を発売と同時に買って早くも4年。 iPhone12が登場したので、色々な事情もあってiPhone12Proを購入した。 この記事は、私が購入に至るまでを綴った覚え書きである。 もし同じような人の参考になれば幸いです。
APCのUPS(無停電電源装置) SMT500J を買ってみた
無停電電源装置を新調したので覚書も兼ねて紹介しておく。 買ったもの なんのためにUPSを買ったのか 身の回りの家電の消費電力 検証結果 UPSは延命装置であって、バッテリーではないですよ 参考資料 オムロン 無停電電源装置(常時商用給電/正弦波出力) 500VA/300W BY50S オムロン 無停電電源装置(常時商用給電/正弦波出力) 550VA/340W BW55T APC Smart-UPS 500 LCD 100V SMT500J E サンワサプライ ワットチェッカーplus 10種類測定可能 検電器 TAP-TST7 サンワサプライ ワットモニター TAP-TST8N さいごに 買っ…
「ブログリーダー」を活用して、KotorinChunChunさんをフォローしませんか?