MENU
SWELL
おすすめ仮想通貨取引所
コインチェック

Excelマクロで日々シートを自動作成【コピペで使える】

パソコン作業につかれた女性

Excelで日々のシートを作る仕事が面倒くさい。自動化できないかな?

この記事ではこんなお悩みを解決します。

どうもヤドリです。

この記事を書いた人
緑の肌をした裸の王様
ヤドリ
  • 2児のアラフォーパパが2021年8月にブログで副業開始
  • 西野亮廣オンラインサロンメンバー
  • 「朝30分」を始めなさい!を実践中
  • ブログの収益は2桁、毎日更新12ヶ月(365記事)達成

この記事を書いている私は副業ブロガー。道半ばです。Twitter:(@yadori816)

Excelマクロをご存知でしょうか?

Excelマクロが使えるようになれば、業務のほとんどが自動化されますよ。

もしも、自動的に処理されたら、処理する量がたくさんあっても辛くないですよね。

実は私も最初はExcelマクロを使えませんでしたが、少しずつ実践して使えるようになりましたよ。

今回の記事はExcelでの業務が多い人におすすめです。

Excelマクロが使えれば、こんなことができるんだと知っていただければ幸いです。

実際に使っていただければ、私がもっと喜びますよ。

この記事の内容です。

  • Excelマクロで日々シートの作成を自動化する。
  • プログラムの解説
  • プログラムを編集する

ぜひ最後までお読みください。

目次

Excelマクロで日々シートの作成を自動化する。

早速ですが、Excelマクロのコードを紹介します。

Option Explicit
Sub 来月の日々シートが右側に追加される()
Dim ws As Worksheet
Dim i As Integer
For i = 1 To 31
Worksheets.Add After:=Worksheets(Worksheets.Count)
Set ws = ActiveSheet
ws.Name = Format(DateSerial(Year(Date), Month(Date) + 1, i), "yyyy.m.d")
    If DateSerial(Year(Date), Month(Date) + 1, i) = DateSerial(Year(Date), Month(Date) + 2, 1) Then
        Exit For
    End If
Next i
End Sub

コピペして実行すれば使えますよ。

来月の日々シートが出来上がります。

Excelマクロの設定

Excelマクロを使った事がないという方は、こちらの記事を参考にしてください。

Excelマクロを勉強するのにおすすめの本はこちらです。

ヤドリはExcelマクロを独学して、Excelマクロが使えるようになってから、読みましたが、

まさに「最初からそう教えてくれればいいのに!」に共感いたしました。

日報や勤怠表を作るときに便利

日々シートは日報や勤怠表を作るときに便利です。ポイントはシート名にひっけが入っているところです。

もしも、シートに日付が入ってないとしたら、どうなりますか?

ヤドリ

シートの中身を見ないと、目的のシートかどうかわかりませんよね。

Excelブックを開いたときに、シートに日付があることで、すぐに目的のシートを表示させることができます。

そしてすぐにその中身を確認したり、追記したり、仕事をすることができます。

シートの中身を集計するときに便利

今回紹介したExcelマクロは、実はシートを作成することだけが楽になったわけではないんです。

シートの中身を集計するときにも便利になったのです。

なぜなら、シートの名前のつけ方に規則性があるからです。

たとえば、日付にもいろいろな書き方がありますよね。

2022.4.6とか、2022年4月6日とか、4/6とか、伝えたい内容は同じですが、表現の仕方は様々です。

一人でやっていても、書き方が変わってきますよね。

複数の人が関わると、もっといろいろな表現が出てくるかもしれません。

ところが、自動で日付をつけると表現は一定になります。

それは自動化するために規則性を持たせなければならないからです。

日付が必ず2022.4.6といったように”yyyy.m.d”の書式なら、別のシートの値をリンクするときにシート名を簡単に指示する事ができますよ。、

プログラムの解説

Excelマクロのプログラムの解説をします。

英語ばかりなので、取り掛かりにくいですよね。

とはいえ一応全てに意味があります。

自分がExcelで処理したい内容をパソコンに伝えます。

それって、人間に教えるのと同じですよね。

丁寧にひとつずつ処理の流れを教えていきましょう。

パソコンは文句言わないので楽です。

でも、教え方が間違っていても「これあってますか?」とか言わないので注意が必要です。

スクロールできます
コード意味
Option Explicit変数の宣言を強制するおまじないです。
Sub 来月の日々シートが右側に追加される()マクロの始まりです。ブログラムの名前も付けます。
Dim ws As Worksheet変数を宣言しています。ワークシートに名前を付けるための変数です。
Dim i As Integer変数を宣言しています。繰り返しの処理をしたくてつけています。
For i = 1 To 31繰り返し処理をします。回数は31回です。月の最大日数が31日だからです。
Worksheets.Add After:=Worksheets(Worksheets.Count)ワークシートを追加します。追加する場所は一番右側です。
Set ws = ActiveSheet追加したシートをwsという変数に充てます。
ws.Name = Format(DateSerial(Year(Date), Month(Date) + 1, i), “yyyy.m.d”)シートの名前を決めます。来月の日付をつけます、日は繰り返し処理の数が入ります。
If DateSerial(Year(Date), Month(Date) + 1, i) = DateSerial(Year(Date), Month(Date) + 2, 1) Then判定プログラムの始まりです。シートの名前が2か月後の1日と同じになるか判定します。True(はい、Yes、〇)かFalse(いいえ、No、×)です。
Exit ForTrueの判定の処理をします。繰り返しの命令を抜けます。
End If判定プログラムの終わりです。
Next i繰り返し処理の終わりです。
End Subマクロの終わりです。

プログラムを編集する

プログラムを編集してみましょう。

もしもプログラムが動かなくなったら困りますよね。

一応、新しいExcelファイルでプログラムの編集を行いましょう。

自分なりに編集して、いろいろな事を試してみましょう。

自然にスキルが身につきますよ。

スクロールできます
コード  青いマーカーは編集先では消します。編集する 赤いマーカー部分を編集します。意味
Option Explicit空白変数の宣言を強制するおまじないをしません。おすすめしません。
Sub 来月の日々シートが右側に追加される()Sub WorkSheet.add()プログラムの名前を英語にします。意味はありません。
Dim ws As WorksheetDim WSheet As Worksheet変数の名前を変えます。意味はありません。
Dim i As IntegerDim n As Integer変数の名前を変えます。意味はありません。
For i = 1 To 31For n= 1 To 10繰り返しの処理を10回で終わります。結果が変わります。
Worksheets.Add After:=Worksheets(Worksheets.Count)Worksheets.Addワークシートが追加される場所が一番左になります。
Set ws = ActiveSheetSet WSeet = ActiveSheet変数の名前を変えます。意味はありません。
ws.Name = Format(DateSerial(Year(Date), Month(Date) + 1, i), “yyyy.m.d”)WSeet.Name = Format(DateSerial(Year(Date), Month(Date) + 0, n), “yyyy年m月d日”)当月の日々シートが出来上がります。日付の表現が変わります。2022年4月6日の表現になります。
If DateSerial(Year(Date), Month(Date) + 1, i) = DateSerial(Year(Date), Month(Date) + 2, 1) ThenIf DateSerial(Year(Date), Month(Date) +0, n) = DateSerial(Year(Date), Month(Date) + 1, 1) Thenシートの名前が1か月後の1日と同じになるか判定します。
Exit ForExit For変更できません。
End IfEnd If変更できません。
Next iNext i変更できません。
End SubEnd Sub変更できません。

まとめ

ノートパソコンで作業をする

今回はExcelマクロでシートを作成する事について紹介しました。

自分の業務に取り入れる事はできましたでしょうか?

自動化できたらラッキーくらいの軽い気持ちでチャレンジしてみましょう。

それでは「Excelマクロで日々シートを自動作成【コピペで使える】」でした。

ヤドリ戻ります。

\ ブログ村に参加中 /

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

「朝30分」を始めなさい!を実践しているブロガーです。習慣が変われば自分が変わる!自分が変われば世界が変わる!
応援Wordは「not too late」

コメント

コメントする

CAPTCHA


目次