2026-01-01から1ヶ月間の記事一覧
複数のファイルを一括で選択できるダイアログボックスを表示するには、GetOpenFilenameメソッドの引数MultiSelectにTrueを渡すか、FileDialogオブジェクトのプロパティAllowMultiSelectにTrueを代入して実行します。
ダイアログボックスによるファイル選択を実行する、GetOpenFilenameメソッドとFileDialogオブジェクトの違いを解説します。FileDialogの方が高機能ですがコードが面倒な傾向があります。
名前を付けて保存ダイアログを開くにはGetSaveAsFilenameメソッドを使用します。このメソッドは実際の保存はせず選択されたファイルのパスを返してくれるだけですので、実際の保存処理はこの後に実行してください。
ダイアログでファイルを選択する機能であるGetOpenFilenameとGetSaveAsFilenameの違いを解説します。どちらもパスをStringで返す点は同じですが、存在しないファイルを指定できる点などが異なります。
ダイアログボックスを開いてユーザーにファイルを選択してもらうにはGetOpenFilenameメソッドを使用します。初期フォルダの指定などより複雑な操作をを行いたい場合はFileDialogオブジェクトを使用してください。
2025/2/8に開設した「Excel-Fun.xls*」のYoutubeチャンネルが、おかげさまでチャンネル登録者1,000人を突破しました!コミュニティ、イベントにいつもご参加いただいている皆様、本当にありがとうございます!
LT会「フリーソフト紹介」の配信アーカイブを共有します。本ブログのGIFアニメ作成にも使用しているGIF製作ソフト「ScreenToGif」とマウスポインタ装飾ソフト「Kokomite」を紹介しましたのでご参考ください。
第10回のテーマは「クラスモジュール超入門」ということで、クラスモジュールの簡単で便利な使い方を題材に基礎構文から勉強していきます。まだ使ったことがない方はこの機会に是非クラスモジュールを使い始めてみましょう!
ブックが読取専用か判定するには、WorkbookオブジェクトのReadOnlyプロパティを判定します。ReadOnlyは読み取り専用プロパティで、このプロパティに代入して読み取り専用の設定を変更することはできません。
ブックの読み取り専用を解除するにはWorkbookのChangeFileAccessメソッドが用意されているのですが、非常に癖が強いメソッドのため、一旦ブックを閉じてOpenでブックを開き直した方が良い場面が多いです。
ブックを読み取り専用で開くにはWorkbooks.Openの引数ReadOnlyをTrueに指定します。ただし既に開いているファイルに対して実行しても、エラーにはならず、かつ読取専用にはなってくれませんのでご注意ください。
セルの検索を行う手段は様々で、Range.Find、WorksheetFunction.Match、セル範囲.Formula = "=MATCH"、Dictionary(連想配列)オブジェクトなどが挙げられます。これらの速度やコーディングコストを検証してみます。
開いているブックを読み取り専用にするにはWorkbookのChangeFileAccessメソッドを使用します。読取専用ブックに実行するとエラーになってしまうためReadOnlyプロパティを調べてから実行してください。
Excel&VBA解説サイト「エクセルの神髄」様出題の問題集、「VBA100本ノック」に対する私の回答と解説のページです。
Excel&VBA解説サイト「エクセルの神髄」様出題の問題集、「VBA100本ノック」に対する私の回答と解説のページです。
ちょっと仕様がイマイチのCopyメソッドに、返り値がWorksheet、Before/AfterにWorkbookを渡せる(先頭/末尾にコピー)、非表示シートを渡せる、コピー後に保護を解除する機能を持たせた関数を作ってみましょう。
CurrentRegionやUsedRangeから上部の不要部分を消して、データエリアだけにするときなど、セル範囲から不要な範囲をカットするには、セル範囲同士の交差範囲(重複エリア)を取得するIntersectメソッドを使用します。
AutoFilterメソッドはどの親Rangeから実行しても、すでにフィルターが存在している場合はそのフィルターで抽出を実行してしまします。確実にフィルター範囲を指定するにはいったん解除してから実行してください。
フォルダ内の複数ファイルへ同じ処理を行う場合、①まずは対象ファイルのリストを取得、②そのリスト内の全ファイルへ処理のように処理を段階化するのが便利です。この①を簡単に行うための汎用関数を紹介します。
Excel&VBA解説サイト「エクセルの神髄」様出題の問題集、「VBA100本ノック」に対する私の回答と解説のページです。
Excel&VBA解説サイト「エクセルの神髄」様出題の問題集、「VBA100本ノック」に対する私の回答と解説のページです。
Excel&VBA解説サイト「エクセルの神髄」様出題の問題集、「VBA100本ノック」に対する私の回答と解説のページです。
テーブルとフィルターが混在したシートにおいてすべてのフィルターをクリアするには、すべてのAUtoFilterオブジェクトからShowAllDataメソッドを実行します。この処理は選択セルの影響を受けるためご注意ください。
日付や年月から月末を求める方法を解説します。日付から月末を求めるにはEOMONTH関数、年月の整数値から月末を求めるにはDateSerial関数のDayに0を渡す方法をそれぞれ用いるのが簡単です。
セルがエラーかどうかを調べる方法を解説します。セル.Valueに対してIsError関数を使用します。WorksheetFunctionの結果がエラーかを判定することはできませんのでご注意ください。
Excel&VBA解説サイト「エクセルの神髄」様出題の問題集、「VBA100本ノック」に対する私の回答と解説のページです。
Excel&VBA解説サイト「エクセルの神髄」様出題の問題集、「VBA100本ノック」に対する私の回答と解説のページです。
Excel&VBA解説サイト「エクセルの神髄」様出題の問題集、「VBA100本ノック」に対する私の回答と解説のページです。
セルのエラー値の種類を調べる方法を解説します。エラーになったセル.ValueをCVErr関数の結果と比較します。エラーでないセルと比較すると型の不一致エラーが発生してしまうためご注意ください。
テーブル(ListObject)と通常のフィルター(AutoFilter)が混在したシートにおいて、AutoFilterの各種プロパティがどのような挙動になるかを検証します。特にWorksheetから直接実行するプロパティにご注意ください。