nJun Excel VBA 職人

これからVBAを学びたい方々へ、Excel VBA 職人としての経験を活かして、楽しく…

nJun Excel VBA 職人

これからVBAを学びたい方々へ、Excel VBA 職人としての経験を活かして、楽しく学べるような記事をシリーズ編と、アラカルト編としての「箸休め」の二本立てで投稿しています。気まぐれで、不定期にはなりますが、時々覗いてみてくださいね。

最近の記事

箸休め_8

前回(箸休め_7)に引き続き今回も「文字列操作.xlsm」を使って、検索に使える文字列操作について説明します。 今回の準備は「文字列操作.xlsm」を開いて、2枚目のシート名を「検索」として、下図のように作ってください。 表示窓の作り方については、図を参照してください。 ここまでで表示窓の動きを見ながら、これからやろうとすることや、そのアルゴリズムをイメージしてみてください。 今回使用する構文は、InStr(A, B) で「文字Bは文字列Aの何文字目か?」の意味です。

    • 箸休め_7

      久しぶりの投稿です。 今回は、Wordの差し込み印刷のイメージで、簡単な文章の編集に便利な機能を紹介しようと考えています。 今回の準備は、マクロを含む新しいBook「文字列操作.xlsm」を作って、シート名を「差込」としてください。 下図のような名簿を作って、適当に20名程度の氏名を入力してください。 ここでは「NHK首都圏局 アナウンサー・キャスター | NHK」から引用させていただきました。 日付と、時刻も適当に入力してください。 H列には定型文の例として「≪氏名≫」様

      • VBAでCalendar_2

        今回は、[Sample]のようなカレンダーを作成します。 それでは、今回も準備から進めます。 VBAでCalendar_1で作った「暦.xlsm」を開いてシート「操作卓」とシート「mm月」を作ってください。 可能であれば、シートタブの色を変えおくと便利です。 なお「mm月」については、セルの結合に注意してください。また、2行目B列と3行目Y列については、セルの書式設定でそれぞれ年と月が出るように設定してください。(ユーザー定義で単位を設定) 例として、水曜日始まりの2週間

        • VBAでCalendar_1

          シリーズ3作目はカレンダーを作成します。 今では、市販の物やアプリ等様々なカレンダーが普及していますので、今更自作しなくても間に合っているでしょうけど、仕事柄水曜日から始まるものや2週間単位のもの、4月1日から始まるものが欲しい。などの欲求があるかもしれません。 また、一口にカレンダーと言っても普段意識しないような新たな発見があるかもしれませんので、最後までお付き合いいただければありがたいです。 では、カレンダーにはどのような規則性があるのでしょう。 まず思い浮かぶのは、

          箸休め_6

          今回は「宛名シール」を作ってみましょう。 箸休め1で作った住所録を市販のラベルシールに出力します。 今回の準備は、Excelの空白Bookを開いて三つのシートを作ってください。 まずは、2枚目3枚目のシートを下図のように作り、シート名「シール1」「シール2」としてください。 実際は、使用するラベルシールの様式に合うようにセルの高さや幅を微調整しなければなりませんが、ここでは大体のイメージとして2タイプ作っています。 そして、1枚目のシートはシート名「操作卓」として実行ボ

          箸休め_5

          2024初投稿です。本年もどうぞよろしくお願いします。 今回は、「画像取り込み」により、アルバムもどきを作ろうと思っています。その中で「プルダウンリストの設定」や「フォルダ内表示」等の便利な機能も紹介します。 それでは、今回も準備から始めます。 Desktop等にFolder「画像処理」を作成し、その中にFolder「画像」を作ってください。 次に、Excelの空白Bookを開いて二つのシートを作ってください。 まずは、2枚目のシートを下図のように作り、シート名「アルバム」

          VBAでBingo5_7

          今回は「他のBookを開いて、そこからデータを読込み、またそれを閉じる。」といった流れの処理になります。 前回までは、自身のBook内で「ActiveCell」「ActiveSheet」などについて説明してきましたが、今回はさらに「ActiveWorkbook」や「ThisWorkbook」などBookに関する概念が登場しますので、Excelさんに寄り添う気持ちで読み進めてください。 また、VBAを追加したり変更したりしたときは、実行前に必ず「上書き保存する癖を付けてください

          VBAでBingo5_6

          今回は、前回(VBAでBingo5_5)PDFに出力したものをExcel(Book)に出力するものを作ります。そして次回(予告:VBAでBingo5_7)では、今回の処理で出力したBookのデータを取込む処理を考えています。 これは、各支所や支店等に入力票を送信して、返信された回答書を集計するときなどに応用できるかと思いますので、参考にしてください。 今回の準備は二つです。まず前回作ったフォルダ「Bingo5」の中にフォルダ「Book」を作ってください。次にB5.xlsmを

          VBAでBingo5_5

          今回は、前回(VBAでBingo5_4)の処理を繰り返し運用していく中で、新規のデータを作る前に現行データを保存したくなります。そこで、便利なのが「編集」「編集1」「編集2」…を一括してPDF Fileに出力するものです。そして、処理済みのシートを削除して、次の処理に備えます。 それでは、説明を始めますが、まず準備です。 今回は、処理用のフォルダを作りましょう。 任意の場所、例えばDesktopにFolder「Bingo5」を作成してください。 そして、その中に前回作ったB

          VBAでBingo5_4

          今回は、久し振りに「VBAでBingo5シリーズ」に戻って第4弾として、数値発生件数を増やす処理をします。 その処理に伴い「シートを追加する」処理が今回のメインとなります。 準備 それでは、準備としてBook「練習1.xlsm」をコピーして「B5.xlsm」としてください。 まず、B5.xlsmを開いて、「抽出」「編集」以外のシートをすべて削除してください。 それから、シート「抽出」を下図のように修正してください。 シート「編集」も下図のように縦横5個ずつ計25個分を作

          箸休め_4

          今回もご覧いただき、ありがとうございます。 今回は、「色の情報」で遊んでみましょう。 「色」や「光」というと、中学校とかの授業で「色の三原色」や「光の三原色」など耳にされたかと思いますが、パソコンでは色の情報を「光の三原色」として処理しています。 光は、三原色の混ざり加減によって様々な色に変化する性質があります。 その三原色とは赤(R)・緑(G)・青(B)です。 そしてすべてのRGBがバランスよく混ざると「白」になり、まったく無い状態では「黒」となります。 この性質を数値化

          箸休め_3

          いつもご覧いただき、ありがとうございます。 今回はMsgbox(メッセージボックス)の使い方を紹介します。 操作説明を表示したり、処理の流れを切り替えたり、何かと便利に使えるので、遊んでみてください。 今回も、前回のBook「練習2.xlsm」を使いましょう。 シート「Msgbox」を追加・作成してください。 VBAのコードは次のとおりです。 Sub Msg() Bt = Cells(7, "D") Ic = Cells(10, "D") MsgBo

          VBAでBarCode_読込3

          シリーズ最終回までご覧いただき、ありがとうございます。 今回は、バーコードを読込むだけで、処理が動く仕掛けを作ります。 「VBAでBarCode_読込2」では、依頼書の内容をExcelさんに伝えるところまでは、なんとか完成しました。 ところが、バーコードリーダで読み込むか、数値を入力して「マクロの実行」をしなければ、Excelさんは動いてくれません。 せっかくバーコードリーダーが超高速で数値を読み込んでくれるにも関わらず、いちいち人間の手で「マクロの実行(起動)」を掛けるの

          VBAでBarCode_読込3

          VBAでBarCode_読込2

          引き続きご覧いただき、ありがとうございます。 ここからVBA作成に着手します。 では、まずExcelさんに依頼する事柄を整理してみます。  処理のきっかけ「9行目E列」にバーコードが読み込まれたら(前提) ・「9行目E列」の左2桁が24以外のとき「社員証ではない」⇒処理を中断 ・右から6桁を抽出し、その左から5桁を社員番号としてシート「名簿」から     該当する社員データをシート「出退」に書き出す。 ・読み込んだ時の時刻を、同社員の出社時刻または退社時刻としてシート「名簿

          VBAでBarCode_読込2

          VBAでBarCode_読込1

          今回は、前回作った社員証のバーコードをバーコードリーダで読み取って処理を行うプロシジャーを作ります。 本題に入る前に、バーコードリーダーがどのような動きをするのかを調べてみましょう。(バーコードリーダーがお手元に有る方はお試しください。) 基本的な動きを見るために「Word」で新しい文書を開いて、文字入力モードを「半角」(赤丸部分をA)に設定してください。 この状態で、前回作成した社員証のバーコードを読み取ってみると、バーコード下部に記載された数値と同じものが表示され、自

          VBAでBarCode_読込1

          VBAでBarCode_出力

          今回は、社員証にバーコードを埋め込んで「勤怠管理もどき」を作ろうと企んでいます。 まずシート「名簿」を作り、架空の社員を7~10名程度入力してください。 入力が済んだら、ついでに実行ボタンも作っておきましょう。 社員№は5桁の数字(重複がないように)。部署№は4桁の数字。 写真名は空白でも可。 次にシート「社員証」を作り、下表のように枠を作ってください。(できれば印刷プレビューを確認しつつ1ページに収める) これから、名簿を基にバーコード付きの社員証を作ります。 それで

          VBAでBarCode_出力