top of page

​タグ一覧

配列処理(73)

階層化フォーム(33)

ファイル操作(28)

開発事例(22)

シート・セル操作(18)

図形操作(13)

コード自動生成(10)

ユーザーフォーム(9)

文字列操作(8)

設計思想(7)

開発効率化(6)

数学(6)

GAS(5)

アニメーション(5)

技術解説(4)

講座実施報告(5)

イミディエイトウィンドウ(4)

Googleスプレッドシート(4)

副業(4)

クリップボード(4)

条件付き書式(4)

その他(4)

ココナラ(3)

小説(3)

HTML(3)

JavaScript(3)

OneDrive(2)

イベントプロシージャ(2)

Enum(2)

PDF(2)

フリーランス(2)

リスキリング(2)

Outlook(2)

介護(2)

Discord(2)

シフト表(2)

LookerStudio(2)

日報(2)

カレンダー(2)

罫線(2)

パズル(2)

小ネタ(2)

コード解説(2)

クラスモジュール(2)

ステータスバー(1)

コード解析(1)

バックアップ(1)

可変長引数配列(1)

ブック処理(1)

スクレイピング(1)

スプレッドシート(1)

coconala(1)

リボン登録マクロ(1)

QRコード(1)

実行予約(1)

給与計算(1)

VBA不使用(1)

リボン(1)

超勉強会(1)

スピログラフ(1)

図名描写(1)

連想配列(1)

溶接ロボット(1)

保育士(1)

楽天市場(1)

経理(1)

医療(1)

文書作成(1)

発注書(1)

ショートカット(1)

WebAPI(1)

色操作(1)

スーパー開発ショートカット(1)

ライブラリ処理(1)

放課後等デイサービス(1)

児童福祉支援(1)

学校(1)

UI(1)

CAD(1)

カーソル操作(1)

CopySheets|指定シートを安全に一括複製(シートコピー) | Excel VBA

更新日:1月4日

CopySheets|指定シートを安全に一括複製(シートコピー) | Excel VBA

<概要 (シート 複製 コピー VBA)

CopySheetsは、指定したワークシートを任意の個数だけ自動で複製するためのExcel VBA汎用プロシージャです(シート 複製 コピー VBA)。


シートの複製ーの用途としては以下のようなものがあります。

・日報入力を日付別に入力する場合に、原本のシートから指定の年月のその月における日数分のシートを作成する。

・特定の月の日数同様、一年分の入力を行う場合に12ヶ月分の空っぽの原本シートを複製する。


既に複製済みのシートが存在する場合は事前に削除され、常にクリーンな状態で再生成される点が大きな特長です。


また、原本シートが非表示であっても正しく動作し、処理中はステータスバーに進捗状況を表示できます。


「Excelでテンプレートシートを大量生成したい」「毎回手作業でシートをコピーするのが面倒」といった業務において、

CopySheetsは再利用性・保守性ともに高い“穴場系”VBA部品として活躍します。


<実行例>

 実行例におけるサンプルのコードは下記の通りです。

 これを実行するにあたって、事前準備としてコピーするシートのシートオブジェクトの名前を「Sh01_原本」でも設定しておきます。


原本シートの準備
原本シートの準備

 この状態で先ほどのサンプルのコードを実行すると、原本シートが合計10個作成されているのが確認できます。コピーした後のシートの名前は第3引数で与えてTemplateSheetNameにアンダーバーを付けて数字の連番を与えたような名前になります。


原本シートの複製後
原本シートの複製後
複製後のシートタブの状態
複製後のシートタブの状態

ちなみに、サンプルのコードをもう一度実行すると、先ほど一度コピーされた原本のシートが一度消去されて新たにコピーし直すという処理もできるようになっており、再度実行する前の事前処理等は不要になっております。

 

 ちなみに、イミディエイトウィンドウおよびステータスバーにもその進行状況が表示されているので、これは実際に実行して目視で確認してみてください。


 また。この汎用プロシージャ「CopySheets」には、以前に紹介した進行状況をステータスバーに表示する汎用プロシージャである「ShowStatusBarProgress」も利用しています。


<関連記事>

今回紹介しているような汎用プロシージャを部品として一元管理する方法は別記事で紹介していますので、是非このノウハウも参考にしてみてください。

コーディングを効率化する上でどんどん増やしていった汎用プロシージャ(部品)をいくら増やしても簡単に流用ができるような仕組みの構築が可能になります。


<コード>


Excel VBAによる業務自動化・ツール開発をご検討の方へ

​"脱Excel"の前に、現状のExcelの潜在能力を120%発揮してみませんか?

Softex-Celware

​インボイス登録番号:T5810983887134

  • Facebook
  • Twitter
  • YouTube

©2023 softex-celware。Wix.com で作成されました。

bottom of page