コードとVBAに関するEnjoyExcelのブックマーク (11)

  • VBA×XLOOKUP関数|Rangeオブジェクト×配列でシンプルなコードを作る

    VBA×XLOOKUPでシンプルなコードを用意する 2020年前後から一部のユーザーに開放されていた関数ですが2024年になり一般ユーザーにも浸透してきた感があります。 よって今回はVBAでもXLOOKUP関数を使ってみることにします。画像(ワークシート)をご覧ください。 左の表のB列の情報をもとにCからE列に情報を取得します。データソースは右の表です。 VLOOKUP関数を使うとデータを取得することができますが今回はXLOOKUP関数を使ってみましょう。 コードはこちらです。 EnjoyExcel Rangeオブジェクトや配列を使ってできるだけシンプルなコーディングを意識しました。 Sub try_XLookup() Dim nme As String 'name 検索値 Dim rst As Variant 'result 結果を格納する変数 Dim srg As Range 'sea

    VBA×XLOOKUP関数|Rangeオブジェクト×配列でシンプルなコードを作る
    EnjoyExcel
    EnjoyExcel 2024/10/04
    XLOOKUP関数はVBAでも使うことができますよ。
  • エクセルVBA×Outlook|メールにハイパーリンク&添付ファイルを用意する

    メールにハイパーリンク&添付ファイルを用意する ExcelVBAからOutlook経由でメールを送信したいという質問をいただきました。 続けて会話を進めるとさらに具体的な要件を引き出すことができました。やりたい事は以下3点の様です。 Excelに入力された宛先を使ってメールを用意したい メールの文にはハイパーリンクを付けたい メールにファイルを添付したい 最終的には1~3の作業を1つのまとまりにして1クリックで仕事が終わるようにしたいという事でした。 もちろんExcelVBAを使えば作業を自動化することができます。 EnjoyExcel ExcelVBAを使えばさらに業務を効率化させることができますよ。 複数の宛先へのメールを用意する中で宛先ごとに異なるファイルを添付させることもできます。 複数の宛先ごとに対応を変えられるのであれば改善効果は大きそうですね。 では今回のExcelVBA×

    エクセルVBA×Outlook|メールにハイパーリンク&添付ファイルを用意する
    EnjoyExcel
    EnjoyExcel 2024/04/27
    ExcelVBAからOutlookでメールを用意することができます。セルに準備した宛先を使ったりハイパーリンクや添付ファイルも用意する事ができます。
  • マクロでグラフを新規作成|関連オブジェクトをもとに3種類の方法を紹介

    3種類の方法を使ってマクロでグラフを新規作成する Excelではワークシートの情報をもとにグラフやピボットグラフを作成する事ができます。 という事はVBAでもグラフを作成する事ができます。 グラフ作成は面倒なので工数を減らす為に実際にVBAを使ってグラフを用意したことがある方はたくさん居るはずです。 しかしVBAを使ってグラフを作るとなると非常に分かりにくいので止めてしまう方が多い様です。 グラフは関連オブジェクトが分かりにくい なぜ分かりにくいのかをヒアリングしたところ返ってきた回答は1択でした。 Enjoy Excel 「関連オブジェクトが複雑でとにかく分かりにくい」という回答でした。 特に新規作成時にどうやってグラフを準備したら良いのか分かりません。 関連オブジェクトが複雑で分かりにくい原因を見つける為に調査を進めてみると2つのポイントが見つかりました。 グラフを表示させる場所は2箇

    マクロでグラフを新規作成|関連オブジェクトをもとに3種類の方法を紹介
    EnjoyExcel
    EnjoyExcel 2024/03/07
    VBAを使ったグラフの作成は「複雑で分かりにくい」様です。理由としては作成方法が3種類あり情報が整理できていない事が挙げられます。情報を整理して簡単にグラフを作成出来るように解説していきます。
  • VBA|InputBoxメソッドで戻り値空白とキャンセルの処理を分ける

    「InputBox関数を使ったプロシージャを用意したのですが実際の使用状況に対応できません」という相談を受けました。 具体的にどんな事に困っているのか教えてもらいました。ポイントは2つです。

    VBA|InputBoxメソッドで戻り値空白とキャンセルの処理を分ける
    EnjoyExcel
    EnjoyExcel 2024/02/09
    InputBox関数はテキストボックスが空白の時にOKボタンを押された時とキャンセルボタンを押した時の戻り値が同じです。InputBoxメソッドは戻り値が違うので操作を分ける事ができます。詳細は記事をご覧ください。
  • 【応用編】ExcelVBAでピボットテーブルと連動したグラフを自動で作成する

    記事はピボットテーブルの作り方を紹介した以下記事から続く内容となっております。(記事単体でも理解できます) リンク先の記事を読んだ後に記事をご覧いただくとピボットテーブルからグラフという一連の作業が理解できます。

    【応用編】ExcelVBAでピボットテーブルと連動したグラフを自動で作成する
    EnjoyExcel
    EnjoyExcel 2024/01/31
    ピボットテーブルの記事ですが通常のグラフでも活かせることがたくさん書いてあります。Functionプロシージャについても書かせてもらいました。サブルーチンに興味がある方にも見ていただける内容になっています。
  • VBAのFindメソッドは変数が難しい|文字列検索はLike演算子!

    VBAを勉強している方とミーティングをしている際こんな質問をいただきました。 「ワークシート内から特定の文字列を検索する際になぜFindメソッドを使わないのか?」という質問です。

    VBAのFindメソッドは変数が難しい|文字列検索はLike演算子!
    EnjoyExcel
    EnjoyExcel 2024/01/16
    「文字列検索の際なぜFindメソッドを使わないのか?」という質問をいただきました。私は文字列検索の際はLike演算子を使います。なぜFindメソッドを使わないのか、なぜLike演算子を使うのかについて説明しています。
  • 【逆引き】やりたい事から記事を選択できるようにしました

    VBAを使ってやりたい事を起点に記事を並べました。目次をクリックすると関連の記事群に飛ぶ様にしています。 やりたい事は英語のAからZの後に50音順で並べています。「その他」だけ例外で最後に配置しました。

    【逆引き】やりたい事から記事を選択できるようにしました
    EnjoyExcel
    EnjoyExcel 2024/01/13
    やりたい事を起点に記事を並べました。やりたい事が決まっている方はすぐに記事を見つけられる仕様になっています。やりたい事が決まってない人は見出しを見てください。VBAでできる事が分かる様になります。
  • マクロでフォルダ内のファイル名を取得|Excel以外の拡張子にも対応

    「フォルダ内の棚卸をしたいのでファイル名を簡単に取得出来ませんか?」という問い合わせをいただきました。 もちろんVBAであれば一瞬で作業完了です。加えてマクロを構築する事で一緒にできる事を提示します。 対象ファイルのチェックができる(存在確認など) ファイル名と一緒に拡張子も取得できる エクセル以外の拡張子についても一括でファイル名を取得できる(拡張子を指定する事も可能)

    マクロでフォルダ内のファイル名を取得|Excel以外の拡張子にも対応
    EnjoyExcel
    EnjoyExcel 2024/01/12
    「フォルダ内の棚卸をしたいのでファイル名を簡単に取得出来ませんか?」という問い合わせをいただきました。VBAであれば一瞬で作業完了です。Excel以外の拡張子でも簡単にファイル名を取得する事ができますよ。
  • VBA|最後のシートまで処理を繰り返す|変数をうまく使いこなそう

    最後のシートまで処理を繰り返す為に変数を使いこなす ブック内のシートをつかむ方法について私(EnjoyExcel)を含め3人が議論していますよ。話を聞いてみましょう。 Aさん ワークブック内のワークシートを周回する方法が知りたいです。 EnjoyExcel 「For Each ~ Nextステートメント」を使うとブック内のシートを順につかむ事ができます。 一緒にローカルウインドウを見る事でより理解が進みますよ。 Bさん ローカルウインドウってなんですか? 私には「For Each ~ Nextステートメント」は難しいです。他の方法を教えて欲しいです。 EnjoyExcel 他の方法ありますよ。今から紹介するコードの方が分かりやすいので安心してください。 ついでにFor Each ~ Nextステートメントについても解説しますね。 最後のシートまで処理を繰り返す時の定番は「For Each

    VBA|最後のシートまで処理を繰り返す|変数をうまく使いこなそう
    EnjoyExcel
    EnjoyExcel 2023/12/30
    For Each ~ Nextステートメントを使う方法と使わない方法で最後のシートまで処理を繰り返す方法を解説。For Each ~ Nextステートメントは実行時に何が起きているのか分かりにくいので動画を使って分かりやすく説明します。
  • VBA|メッセージボックスの「保存」ボタンを使わずにデータをSaveする

    「保存」ボタンを使わずにデータをSaveする MsgBox関数(メッセージボックス関数)について質問をいただきました。 質問はこちら MsgBox関数で「保存」というボタンは作成出来るのか? 例えば以下画像のようなメッセージボックスで用意されている保存ボタンです。(一番左のボタン) Excelを「保存」せずに右上の×ボタンを押下した際以下のようなメッセージボックスにボタンが表示されます。 結論としてはMsgBox関数では「保存」ボタンは作成できません。しかし同じ効果を得る事はできます。 少し違ったアプローチをすることでメッセージボックスからデータの保存を可能にします。 EnjoyExcel 直接「保存」というボタンは作成できないので別の方法をとります。 画像と違いボタンも2つにする事でよりシンプルに保存作業を構築してみます。 MsgBox関数が理解出来ていれば少しのアレンジで作業を構築でき

    VBA|メッセージボックスの「保存」ボタンを使わずにデータをSaveする
    EnjoyExcel
    EnjoyExcel 2023/11/03
    VBAのメッセージボックスには保存ボタンを作成する機能が用意されていません。しかし工夫することでワークブックを保存する事が出来る様になります。
  • VBAでフォームを使う-2プログレスバーを作るコードを紹介&解説

    タイトルにもある様にユーザーフォームについて勉強する事になります。 コードの記述方法やフォームの動作が分かる様になるとVBAで出来る事の幅が広がります。 実際にフォームを用意してコードと連動させプログレスバーを動かせるようにしていきます。 一連の作業を紹介することになりますので少々長くなります。可読性を上げるために目次のリンク機能をご活用ください。

    VBAでフォームを使う-2プログレスバーを作るコードを紹介&解説
    EnjoyExcel
    EnjoyExcel 2022/08/13
    コードを用意しました。解説もしています。ひとつ前の動画付きの記事と合わせて見ていただくとかなり理解が進むと思います。
  • 1