位置情報で子どもの居場所をお知らせ

月ごとの出勤簿のようなものを作成しています。
月が変わったらマクロボタンで次月(ボタンを押した当月)のシートが作成されるようにしたいのですが、累計を出したいセルへの計算式の設定でつまづいています。

各行に出勤者、各列に日にち、表の右端の列に合計・累計という表があり
ボタンで表のコピー、日付の変更、当月までの累計値の計算式を設定、としたいのですが、1つ前のシート名を変数に置き換えて参照先を指定??このシートまで、という指示を出す?と自分の思うようなコードをかけるほど理解が深くありません。
どなたかお力添えを頂ければと思います。


以下、現在動かしているマクロのVBAです。
なお合計欄(AI列)にはCOUNTIF関数での計算式が入っており、1人あたりの出勤数累計を求める式はAJ4〜AJ28へそれぞれ設定したいです。

Sub シートコピー()
 ' バックグラウンドで作動
   Application.ScreenUpdating = False
 ' シート名用の変数定義
   Dim D As String
 ' シート名を今日の年月に設定
   D = Format(Date, "YY年MM月")
 ' アクティブシートをコピーして右側に配置
   ActiveSheet.Select
   ActiveSheet.Copy After:=ActiveSheet
' B1に今日の年を入力
   Range("B1").Value = Year(Date)
 ' B2に今日の月を入力
   Range("B2").Value = Month(Date)
 ' リスト範囲の値と数式をクリア
   Range("D4:AH28").Select
   Selection.ClearContents
 ' 新シートに設定した名前を付ける
   ActiveSheet.Name = D
 ' 1日の先頭セルへ移動
   Range("D4").Select
End Sub

A 回答 (2件)

No.1です。



あとついでにシート構成(一番左が最初の月?それとも何か別の物?)
    • good
    • 0

>1人あたりの出勤数累計を求める式はAJ4〜AJ28へそれぞれ設定したいです。



ようは
https://www.becoolusers.com/excel/3d.html
これの事?

仮に4~5月のシートがあって6月に実行したとき、その目的のセルに入る式は『4~5』?『4~6』?

あとついでに、

> ' バックグラウンドで作動

確か違うでしょ。
画面の更新をしないだけでバックグラウンド処理ではないと思うよ。
初級者なので自信ないですがExcelにその機能はなかったかと。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング