2018.11.09みなさん、こんにちは!フジタニ(@libartweb)です。エクセルVBAとエクセル関数を組み合わせ、営業日を考慮したスケジュール表自動作成の方法をシリーズでお伝えしております。前回の記事はこちらエクセル関数でスケジュール自動表示のためのカレンダーを作成する方法エクセル関数のみでカレンダーのテンプレートとなるシートを作成しそれを安全に運用していく方法をお伝えします。テンプレートは対象月のカレンダーを作成するために必要なシートで、スケジュール自動作成を行うための前準備です。tonari-it.com2018.10.22前回までは月間スケジュールの一覧をエクセル関数のみで作成する方法カレンダーの日付をエクセル関数のみで表現する方法をお伝えしてきました。今回は、前回の記事で作成したカレンダーのテンプレートシートを、エクセルVBAでコピーしてシート名を変更する方法をお伝えします。スケジュール表の自動作成はテンプレートのシートをコピーして、コピーしたシートに対して様々な編集を行っていく必要があるからです。目次エクセルVBAでスケジュールカレンダーを自動作成するために実現したいことエクセルVBAでカレンダーのテンプレートシートを対象月用にコピーするワークシートにオブジェクト名を付与するテンプレートシートをコピーする処理のサンプルコードコピーしたテンプレートシートの名前を変更するまとめ連載目次:エクセルVBAで営業日を考慮したスケジュール表を自動で作成するエクセルVBAでスケジュールカレンダーを自動作成するために実現したいこと『ボタンを押したら、ボタンを押した日の翌月のスケジュールが記載されたカレンダーを自動で作成する処理』をエクセルVBAで実現します。最終的にはカレンダーの各日付の行に、その日にやるべきタスクを「月間スケジュールの一覧」から取得して表示させてあげる必要があります。これまでの連載で作ってきたシートは、現状だと下記のキャプチャの状態です。1~4にこれからVBAで実現したいことを記載しました。シート名が「テンプレート」のままなのでVBAでシートをコピーして対象月の名称にしたい。A1セルに対象月の「開始日」をVBAで自動入力し、B列全体を対象月の日付として反映させたい。土日祝日を判定し、VBAでその行に色をつけたい。各日付ごとのタスクをVBAで「日付計算」シートから取得して反映させたい。今回の記事ではまず最初に1のカレンダーのテンプレートシートをVBAで対象月用にコピーする方法をお伝えします。ちなみに1~4すべてが完了したときの完成イメージは以下の通りです。エクセルVBAでカレンダーのテンプレートシートを対象月用にコピーする前回の記事で作成したカレンダーのテンプレートシートを、対象月用として扱うためにシートコピーする処理です。シートをコピーする処理は、1の処理ですね。ワークシートにオブジェクト名を付与するワークシートにはオブジェクト名をつけることが可能です。オブジェクト名を事前につけて置くことでコーディングが非常にラクに、シンプルになりますので、まずは以下の記事を参考にオブジェクト名をつけてください。初心者向けエクセルVBAで請求書を作成するシリーズ。今回は、エクセルVBAで頻繁に取り扱うワークシートを「オブジェクト名」を使って指定する方法です。オブジェクト名とは何か、またその編集方法もお伝えします。tonari-it.com2017.02.12今回は以下の名称でオブジェクト名をつけます。wsDateList“テンプレート”は今回の記事で紹介したカレンダーのテンプレートとなるワークシート、”日付計算”が以下の記事で作成した、エクセル関数を使用したスケジュールリストシートです。エクセル関数だけで営業日を考慮した月間スケジュールを作成する方法エクセル関数だけで営業日を考慮し、月間スケジュールを作成する方法をお伝えします。想定されるよくある日付パターンを、VBAを使用せずエクセル関数だけで計算。スケジュールリストを自動で作成します。Subテンプレートシートをコピーするテンプレートシートをコピーし、コピーしたワークシートの名前を変えるだけの処理です。after:=wsTemplatewsTemplateというオブジェクト名のワークシートを、そのシートの後ろ(after:=wsTemplate)にコピーしています。ワークシートのコピーに関する詳細は以下の記事を参考にしてください。【脱エクセルVBA初心者】新規のワークブックを作成、シートのコピーと名前の変更エクセルVBAで「請求書を自動で作る」をテーマに、新規のワークブックを作成して請求書ひな形シートをコピーする方法、ワークシートのシート名を変更する方法、ブックやシートに関するTIPSについて書きました。tonari-it.com2016.06.04生成されたシートは以下の通りです!シートが正常にコピーされました。コピーしたテンプレートシートの名前を変更する単にコピーしただけなのでシート名が「テンプレート(2)」の状態となっています。これを、年月に変更します。前述のサンプルコードに以下(シート名を変更するコードより下)を追記します。Sub日付計算シート内のF5セル「基準日の翌月」の日付を取得しFormat関数で”yyyymm”に変換し、変数strSheetNameに格納しています。基準日の翌月を取得した時点ではyyyy/mm/ddの書式なので、これをFormat関数でyyyymmに変換しました。strSheetNameでシート名を変更しています。シート名の変更は以下の記事で詳細を解説しています。【脱エクセルVBA初心者】新規のワークブックを作成、シートのコピーと名前の変更エクセルVBAで「請求書を自動で作る」をテーマに、新規のワークブックを作成して請求書ひな形シートをコピーする方法、ワークシートのシート名を変更する方法、ブックやシートに関するTIPSについて書きました。tonari-it.com2016.06.04Format関数の使い方は以下の記事を参考にしてください。【初心者向けエクセルVBA】文字列の連結&Format関数での書式変更エクセルVBAで文字列を連結する、文字列の書式を変更するなどの「文字列」に関するいくつかのテクニックを紹介しつつ、データ一覧から請求書を自動で作成するというシリーズ連載の序盤の完成を目指します。tonari-it.com2015.05.21実行すると・・・シート名が年月に変更されました!まとめ以上、冒頭で紹介した1の処理、エクセルVBAでテンプレートシートを当月用にコピーして、シートの名前を変更する方法をお伝えしました。これまでエクセル関数のみで構築してきたシートをエクセルVBAでも使うことで、エクセルの機能をフルで活用することができます。次回は2の開始日設定の方法をお伝えします。A1セルに対象月の「開始日」をVBAで自動入力し、B列全体を対象月の日付として反映させる処理です。お楽しみに!連載目次:エクセルVBAで営業日を考慮したスケジュール表を自動で作成するWORKDAY関数とエクセルVBAを組み合わせ、営業日を考慮したスケジュール表を自動作成する方法をお伝えします。プランノーツ代表、コミュニティ「ノンプロ研」主宰。ITで日本の『働く』の価値を上げる!」をテーマに、VBA&GASの開発、講師、執筆などをしております。→詳しいプロフィールはコチラ★ご依頼・ご相談はお気軽にどうぞ!→お問い合わせはコチラ★フォロー頂ければ嬉しいです。「コミュニティ+講座」形式で継続性&教え合える環境も提供。!ノンプログラマーがプログラミングスキルを身に着ける支援ををするコミュニティ。セミナー・もくもく会・Facebookグループのサポートで「自らで学び続ける力をつける」支援、「教え合うことで学びの価値を上げる」場の提供をしています。関連記事Excel・VBA活用術VBAの本なのに笑って、泣ける。ボクの人生を変えてくれた人」を読みました。今回はエクセルVBAでのグラフの取り扱いについてその超基本についてお伝えします。埋め込みグラフとグラフシートについて、またChartObjectとChartの違いなどについて解説をしています。邪魔なExcelのセル結合を解除して空欄セル全てに値や数式を瞬殺で埋める方法Excelでセル結合されている場合、並べ替えやピボットなどの処理ができません。この記事ではセル結合を解除してジャンプ機能を使って空白セルに値や数式を瞬時に一括入力する方法についてお伝えしています。初心者向けエクセルVBAで請求データから請求書を作成するシリーズです。今回はInputBoxメソッドを使った入力ダイアログの使い方です。引数や引数名について、またInputBox関数との違いについても解説します。今回は、『表の罫線を引く場所を指定する簡単な方法』について紹介したいと思います。表の範囲に罫線を引く上で、自分の引きたい箇所に罫線を引ければとても便利です。空白セルの中に斜線が引ければ、表のバリエーションも増えますね。初心者でも簡単!エクセルVBAでPDFを出力する最もシンプルなプログラムエクセルVBAではPDF形式での出力もできます。今回は、初心者向けエクセルVBAでPDFを出力する最も簡単なプログラムと、PDF出力の際にシート1ページに収めて出力する方法についてお伝えしていきます。「コミュニティ+講座」形式で継続性&教え合える環境も提供。詳細・お申込はこちら隣ITを応援する当ブログを「応援したい!」「役に立ったよ!」というお気持ちを、コチラからお支払いただくことができます。日々更新の活力倍増いたします。※PayPalアカウントが必要です。※金額は変更可能です。Platform23HTML・CSS32iPhone・アプリ29Monaca・スマホアプリ開発7PC全般・Windows86PowerPoint・VBA28Python87RPA1VBScript15Vue.js・JavaScript13WEBサービス・クラウド68WordPress・ブログ88Word・VBA42コミュニティ・イベント109セミナーのお知らせ11チャットワーク72データ分析・アクセス解析40仕事・生産性・働き方73動画配信8商業出版21起業・フリーランス72電子書籍・Kindle3運営会社プランノーツは"IT×働き方改革"をお手伝いする会社です。「コミュニティ+講座」形式で継続性&教え合える環境も提供。詳細・お申込はこちら隣ITを応援する当ブログを「応援したい!」「役に立ったよ!」というお気持ちを、コチラからお支払いただくことができます。日々更新の活力倍増いたします。※PayPalアカウントが必要です。※金額は変更可能です。Platform23HTML・CSS32iPhone・アプリ29Monaca・スマホアプリ開発7PC全般・Windows86PowerPoint・VBA28Python87RPA1VBScript15Vue.js・JavaScript13WEBサービス・クラウド68WordPress・ブログ88Word・VBA42コミュニティ・イベント109セミナーのお知らせ11チャットワーク72データ分析・アクセス解析40仕事・生産性・働き方73動画配信8商業出版21起業・フリーランス72電子書籍・Kindle3運営会社プランノーツは"IT×働き方改革"をお手伝いする会社です。Scriptが「V8ランタイム」をサポート!モダンなECMAScript構文が使えるようになった2020.02.072020.02.08GASでコピーしたGoogleスライドのプレゼンテーションを取得する方法2020.02.052020.02.05Facebookページいつも隣にitのお仕事タイトルとURLをコピーしました。