Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

タグ

ExcelとVBAに関するryskosnのブックマーク (48)

  • Excel VBAコーディング ガイドライン案 - Qiita

    Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

    Excel VBAコーディング ガイドライン案 - Qiita
  • VBAで開発する人のための汎用プロシージャ9選 - Qiita

    こちらの記事:個人マクロブック等に保存して利用するVBAの汎用プロシージャで個人マクロブックやアドインにコードを記載して、アクティブブック等に対して利用する汎用プロシージャを紹介しました。 「個人マクロブック等に保存して利用するVBAの汎用プロシージャ」の記事は、開発する人以外にも配布することで、便利に利用していただけます。 ※基礎的なマクロの実行方法等は、利用者に最低限、身につけていただく必要はありますが…。 今回の記事は、利用する人というよりも、VBAの開発する人にとって便利なコードを紹介します。(一部は、「個人マクロブック等に保存して利用するVBAの汎用プロシージャ」で紹介している記事と重複します。) なお、自分が作成したものではないものについては、作成者様のサイトのリンクをご紹介いたしますので、そちらで実際のコードをご確認ください。 1. セル参照のA1形式・R1C1形式の表示を切

    VBAで開発する人のための汎用プロシージャ9選 - Qiita
  • VBA開発する人でも意外と知らないこと - Qiita

    VBAの開発をされる方も、最近は書籍を読み込むのではなく、特定の業務に必要な知識だけをネットや生成AIから得て学ぶ方が増えているようです。しかし、そうした学習方法だけでは、VBAの基礎的なルールや知識が抜け落ちることがあります。 そこで、今回は「基礎的でありながらも見落としがちなVBAのポイント」を独断と偏見でご紹介します。もしかしたら、あなたの知らないことも含まれているかもしれません。 1.一行で複数の宣言を行う場合、それぞれに型を明示する必要がある VBAでは、データ型を宣言しない場合はVariant型になるため、基的にはデータ型を宣言すべきです。しかし、時々次のように書かれているコードを目にします。

    VBA開発する人でも意外と知らないこと - Qiita
  • Excel VBAのびみょいところ - Qiita

    プログラミングに興味持ってくれた人にVBA教えてたことがあった。 VBA微妙だよみたいなこと言ってたら勉強辞めちゃって悲しかったし、誰も良い気分しないのであんまり言語の悪口とか言わないようにしてる。 けどVBA辛いみたいな話があったのでそれは気のせいじゃないと思うよってなんか書きたくなった。 もちろん良いところもあって、Excel VBAはどこにでもあって、ちょっとした動くものを作るのにちょうどいいと思う。 いつもちゃんとやろうとしてやりすぎることが多い。犬小屋建てるのに高層ビル建設と同じ技術はいらない。 ポエムとExcelへのフォローは以上。 自分の無知から来るところもあると思うので生暖かくお願いします。 変数の宣言と同じ行で代入ができない 変数の初期化を2行に分ける必要がある。

    Excel VBAのびみょいところ - Qiita
    ryskosn
    ryskosn 2024/02/20
    「犬小屋建てるのに高層ビル建設と同じ技術はいらない」
  • 書評 パーフェクト Excel VBAを読んで - えくせるちゅんちゅん

    半年以上前に入手したタカハシさん著の「パーフェクト Excel VBA」ですが、ようやく読み終わりましたので読書感想文を書かせていただきます。 パーフェクトExcel VBA (PERFECT SERIES) 作者:高橋 宣成技術評論社Amazon 私はが苦手です。 これまでの私のVBA学習法 初めの1年くらい スラスラ書けるようになってから ここ数年 パーフェクト Excel VBAの効果 Twitterひとりごと抜粋 まとめ 私はが苦手です。 読書感想文の前にちょっと自己紹介させて下さい。 私はが苦手です。普段から読書をしません。 どのくらい苦手かと言うと、学生時代夏休みの課題には決まって読書感想文というものがありました。 私の通っていた学校では、小中高全てでありました。 当に自慢にもなりませんが、読書感想文を一度も提出したことがありませんでした。 忘れたわけでも、提出が遅れた

    書評 パーフェクト Excel VBAを読んで - えくせるちゅんちゅん
    ryskosn
    ryskosn 2024/01/16
    こちらに記載されている内容(謎仕様の数々)を読んで、(少なくとも自分は)Excel VBA に深入りしてはいけないと再認識した。C# などまともな言語で頑張ったほうがよさそう。
  • Excel に入力したクイズリストを VBA で PowerPoint に流し込む - タイダログ

    年度末のある日、英語科の先生から声をかけられました。 「PowerPoint で4択クイズを作りたくて調べたら、VBA? とかいうのを使うと Excel に入力したクイズリストを一括で流し込めるって聞いたんですけど、難しくて……たいだ先生、できますか?」 これを聞いて私は感激しました。以下感激ポイント。 目的と手段をきれいに言語化して伝えてくださった 自分で調べてから聞いてくださった 作業の効率化を考えていらっしゃる 楽をしようとする姿勢! なんと尊いことか! というわけで、なんか面白そうなのでその先生のお役に立つべく、その VBA? とかいうのでやってみました。 ※その先生の了承を得て掲載しています。 作業環境 完成品 概要 特徴 使い方 実行結果 コード 結び 参考 更新履歴 こちらもどうぞ 定期的なタスクを Microsoft To Do に自動で追加する - タイダログ 【新】Mi

    Excel に入力したクイズリストを VBA で PowerPoint に流し込む - タイダログ
  • [Excel VBA]共通化したプロシージャのサンプルコードを紹介

    概要 Excel VBAで簡単なツールを開発する際、頻繁に書くFunction・Subプロシージャ(関数)は、 共通化したプロシージャ[1]を使いコーディング[2]しています。 自身でVBAのツールを作成する際にふり返ることもあり、備忘をかねて記事にします。 2023.03.14追記 この記事で紹介した内容が組み込まれているサンプルコード(サンプルプログラム)を作成しました。 こちらの記事で詳細な内容を紹介中。 なお、上記のサンプルプログラムでは、この記事の“共通化したプロシージャ”群を、 「mdlCommon.bas」という標準モジュールにまとめて共通モジュールを作成しています。 この記事のターゲット Excel VBAユーザーの方 頻繁に書く処理を共通化したい方 共通化したプロシージャのサンプルコードを参考にしたい方 共通処理のまとめ

    [Excel VBA]共通化したプロシージャのサンプルコードを紹介
  • VBA基礎5:VS CODEでVBAを編集(ariawase)|KIYO

    1.概要 普段業務効率化のためにExcelVBAを使用することが多いですが①VBEが使いにくい、②GitHub Copilotを購入しているため有効活用したい という理由でVS CODEを使用したいと思っております。 下記記事を参考にしながら、VS CODEでもVBAを編集できるようにしたいと思います。 2.環境構築 環境構築として大きく分けて下記があります。 Excelから標準モジュール(所謂VBAの中身)を抽出したり、編集後のファイルを統合してくれるスクリプトをダウンロード VS CODEに必要なExtensionを追加して設定の追加 Excelとbinフォルダの準備 なお当はgit(Version管理システム:変更箇所の差分を表示してくれるツール)を使った方が良いのですが、まだ勉強不足のため今回はgit無しで作成しました。 なお初期設定としてExcelの「開発者向けマクロの設定:

    VBA基礎5:VS CODEでVBAを編集(ariawase)|KIYO
  • VBAでPDF出力をする方法(ExportAsFixedFormatメソッド)

    今回はExcel-VBAPDF出力する方法を紹介します。 全てのシートを一括でPDF出力する場合や一部のシートのみをPDF出力する場合など様々な条件での方法をサンプルコードを交えて紹介します。 ExportAsFixedFormatメソッド Excel-VBAPDF出力するにはExportAsFixedFormatメソッドを使用します。 構文は次のようになります。 object.ExportAsFixedFormat(Type, FileName, Quality, IncludeDocProperties, IgnorePrintAreas, From, To, OpenAfterPublish, FixedFormatExClassPtr) object は出力対象となるオブジェクトのオブジェクト式になります。適用できるのはWorkbookオブジェクト、Chartオブジェクト、Wo

    VBAでPDF出力をする方法(ExportAsFixedFormatメソッド)
  • 【永久保存版】VBAにおける真のイミディエイトウィンドウの使い方 - えくせるちゅんちゅん

    VBAの開発画面(VBE)には様々なウィンドウがありますが、その中でも特に奥が深いのがイミディエイトウィンドウです。 イミディエイトウィンドウをどれだけ使いこなしているかで、その人のVBAプログラミングスキルがどれ程のものかひと目で分かる(かもしれません) 今回はそんなイミディエイトウィンドウだけに焦点を絞って、徹底的に紹介していきます。 イミディエイトウィンドウとは なぜイミディエイトウィンドウを使うのか 1.コーディング中に文法や関数を確認する 2.デバッグ中に変数の書き換えや情報出力を行う 3.作業を支援するために使用する VBEのイミディエイトウィンドウの使い方 便利な操作テクニック全集 データ型による整形 セミコロンとカンマによる整形と連結 コロンとアンダースコアによるステートメントの連結と折り返し バッドノウハウ イミディエイトウィンドウの活用事例集 プロシージャ(Sub)を実

    【永久保存版】VBAにおける真のイミディエイトウィンドウの使い方 - えくせるちゅんちゅん
  • dayjournal | Try #008 – VBAのモダンな開発環境を構築してみた

    この記事は、「Excel VBA Advent Calendar 2017」の10日目の記事です。 時間なくて過去記事でごめんなさい。。。 5年ぶり?、10年ぶり?くらいにExcelVBAでの開発案件がありそうなので事前にできるだけモダンな開発環境を構築してみようと思います。 通常VBAExcel等のソフト内のエディタ(VBE)で開発し、モジュールの共有化やバージョン管理が難しい開発環境です。そのため今回は、VBE以外の外部エディタを利用したり、GitHubでバージョン管理や差分抽出ができる開発環境を構築できたらと思っています。 ツールについて自分で構築するか、既に良いツールがないか色々と探していたのですが、「text-scripting-vba」というツールが便利そうなので試してみました。詳細についてはText Scripting on VBAに記載されています。 まずはじめに、Exc

  • Microsoft サポート対象サービス パック

    All Microsoft Global Microsoft 365 Teams Copilot Windows Surface Xbox Deals Small Business Support Software Windows Apps AI Outlook OneDrive Microsoft Teams OneNote Microsoft Edge Skype PCs & Devices Computers Shop Xbox Accessories VR & mixed reality Certified Refurbished Trade-in for cash Entertainment Xbox Game Pass Ultimate PC Game Pass Xbox games PC and Windows games Movies & TV Business Micro

    Microsoft サポート対象サービス パック
  • Excelの質問です。住所から“市区町村のみ”の情報を抽出することは出来ますでしょうか。…

    Excelの質問です。住所から“市区町村のみ”の情報を抽出することは出来ますでしょうか。 今、東京都の東京タワー、福島県のフォレストパークあだたら、岐阜県のハリヨ公園など、住所データが5万件ぐらいあります。 東京都港区芝公園4丁目2−8 福島県安達郡大玉村玉井字長久保68 岐阜県山県市大森 ・ ・ この中から、 港区 安達郡 山県市 など、都道府県名を除いた市区町村名(区名)のみ抽出したいのです。 東京都港区 福島県安達郡 岐阜県山県市 でも構いません。 というのもおそらく都道府県名は岐阜県の山県市のみ気を付ければ、「*県」を空白に置換して消去、東京都・大阪府・京都府を置換で消去すれば、事足りるからです。 しかし市区町村の抽出は、千葉県の市川市など、「市*」を「市」に置換すると、市区町村が消えて「市」だけになってしまいますし。 「郡」は郡上市とか郡山市とか、置換して消去というやり方では市区

  • エクセルのVBAにソルバーを組み込んでもエラーが出て使えなかったけど対処できた - consbiol のエコ日記

    業(生物学者)でモデルからパラメーター推定するという解析を行う必要がありまして、その際にエクセルのソルバーアドインの便利さに初めて気がつきました。エクセルでソルバー機能を使うには、エクセルの左上の丸いオフィスボタン>エクセルのオプション>アドイン>設定、で”ソルバー アドイン”にチェックを入れればOK↓ ただしOfficeの標準インストール時にはソルバーがインストールされません。したがって、Officeのバージョンによってはソルバーアドインのインストール時にDVD-ROMが必要になるかもしれません。 ソルバーをエクセルのVBAに組み込んで、繰り返し計算させてやろうとしました。VBAにおけるソルバー機能に関する関数は、ソルバー使った時に記録されるマクロ(「マクロの記録」機能をONにすれば作業が自動でVBAに記録される)を見ればよく分かります。 早速、ソルバーを含むプログラムを書いてみたので

    エクセルのVBAにソルバーを組み込んでもエラーが出て使えなかったけど対処できた - consbiol のエコ日記
  • Range.GoalSeek(Object, Range) メソッド (Microsoft.Office.Interop.Excel)

    このブラウザーはサポートされなくなりました。 Microsoft Edge にアップグレードすると、最新の機能、セキュリティ更新プログラム、およびテクニカル サポートを利用できます。

    Range.GoalSeek(Object, Range) メソッド (Microsoft.Office.Interop.Excel)
  • エクセルのゴールシークを自動で連続して求めたい - OKWAVE

    ゴールシーク機能はとても便利ですが、 これを行うには、一回一回、ツールバーからこれを選択するか、 マクロを記録するなどして、実行ボタンを作成しなくては いけません。 これを自作関数化するなどして、エクセルを開いている間、 自動的に、連続して算出する ようなことは可能でしょうか。 いろいろと調べては見たのですが、どうしても 分かりませんでした。。 ご存知の方がいらっしゃいましたら、 是非ご教授ください。

    エクセルのゴールシークを自動で連続して求めたい - OKWAVE
  • Microsoft Excel で SQL を利用する方法

    Microsoft ExcelSQL を利用する方法 なぜか、今年から家計簿を複式でつけている。それについてのツッコミはまた置いといて…、問題はデータの集計方法。仕訳帳シートにどんどんデータを入力していったとして、総勘定元帳的なシートはどうしようかな?と考えていたところ。たとえば現金だけのシートを作るのに、仕訳帳から「ソート」機能でデータをピックアップしてコピー&ペーストしていたのだけれど、このソート機能がめっぽう使いにくいので。 ExcelSQL が使えると便利なんだけれどなーと思っていたところ、こんな記事を発見。 Excelの集計をSQLでおこなう方法。VLOOKUP()やSUBTOTAL()の限界を超えろ!! - むかぁ~ どっと こむ Excel から ADO (ActiveX Data Objects) を使って、データの SQL 操作ができるようにする VBA スク

    Microsoft Excel で SQL を利用する方法
  • Excelの集計をSQLでおこなう方法。VLOOKUP()やSUBTOTAL()の限界を超えろ!! - むかぁ~ どっと こむ

    SELECT Products, count(*) as [cnt], sum(cost) as [sum] FROM [A$] GROUP BY Products 操作は簡単、「SQL」シートのB1セルにに上記文を貼りつけして ボタンを押すだけです!! なんと、シート同士を結合することも可能なのでvlookup()を 指定せずともお手軽便利!! 他にもいろんな集計方法をサンプルで載せておきます。 /* Aシート一覧 */ select * from [A$] /* A,Bシート一覧 */ select * from [A$],[B$] where [A$].CID = [B$].CID /* バナナの販売数 */ select count(*) from [A$] where Products = 'バナナ' /* バナナの売上 */ SELECT Products, sum(cost)

  • Office TANAKA - Excel VBA Tips[セルが選択されているか判定する]

    セルに対して何らかの操作を行うマクロの場合、セル以外のオブジェクトが選択されているとエラーになる場合があります。たとえば次のコードは、セルが選択されているときは選択されているセルにRAND関数を埋め込みますが、テキストボックスやグラフなどが選択されている状態で実行するとエラーになります。 Sub Sample() Selection = "=RAND()" End Sub 誤動作を避けるために、現在選択されているのがセルかどうか判定するには、TypeName関数の裏技を使います。TypeName関数は、バリアント型変数に格納されているデータの種類を調べる関数です。来は次のように使います。 Sub Sample2() Dim tmp As Variant tmp = 100 MsgBox "変数内のデータは、" & TypeName(tmp) & " です。", 64 tmp = "tan

  • Excel VBE(Visual Basic Editor)に行番号を表示させる方法

    Excel VBE(Visual Basic Editor)に行番号を表示させる方法を紹介します。 行番号を表示したVBE画面 1.問題点 Excel VBAではExcel VBE(VB Editor)を使ってプログラムを書きますが、VBEの編集画面では行番号が表示されません。 デフォルトのVBE画面 数十行くらいのコードであれば問題ありませんが、数百~数千行のコードになるとかなり使いにくくなります。 ネットで検索しても「できません」というような回答がありました。 Excel2010のVBAエディタですが、行番号は表示できないでしょうか? が、冒頭のように表示することはできますので、エントリーでExcel VBEに行番号を表示させる方法を紹介します。 Excel 2010で動作確認しています。 なおWindows Vistaで説明しているので、Windows7の場合は適宜読み替えてくださ

    Excel VBE(Visual Basic Editor)に行番号を表示させる方法
    ryskosn
    ryskosn 2016/06/02
    行番号表示させるには外部プラグイン(?)を入れなければいけないのか。なかなかつらいな。