[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『セルA1に平日のみの日付を表示』(ジウ)
1ヶ月ごとに1Book 約25枚のシートが用意されていて、1日1シートを使用します。
最初のシートのセルA1に2016/4/4、次のシートのセルA1に2016/4/5と土日祝日を除いた
平日のみを毎月手入力しているので、簡素化できたらと考えています。
Bookは新規作成ではなく、使い回しです。
初心者なので良い方法を教えていただけたらと思います。
< 使用 Excel:Excel2010、使用 OS:Windows7 >
Workday関数 (GobGob) 2016/04/02(土) 08:51
たとえば シート名を左から 1、2、3、・・・25 と変更しておきます。 で、最初のシートには、手入力で 2016/4/4 等をいれます。 2枚目のシート以降の A1 に =WORKDAY(INDIRECT(RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]",CELL("filename",A1)))-1&"!A1"),1,祝日)
これで、すべてのシートに、最初のシートのA1にいれた日付を元に、営業日がセットされると思います。
(β) 2016/04/02(土) 09:11
>シート名には0404月、0405火とセルA1とリンクする日付と曜日を入れるようになっておりますので
これって各シートのA1セルに土日祝を除いた日付を入力後、マクロでシート名を書き換えていると いうことですか? (se_9) 2016/04/02(土) 09:49
>>シート名には0404月、0405火とセルA1とリンクする日付と曜日を入れるようになっております
ということは、25枚のシート名を、当該の日付で変更されるんですね? う〜ん・・・それなら、シート名変更の際に、A1も打ち直せば、そんな手まではないと思いますが?
それはさておき、では、25枚のシートの、どこか決められた場所(たとえば Z1 とか)に シート毎に1から連番を振ることはできますか?
もし、そうできるなら、最初のシートのA1に 開始日 という名前を付けておいて 2枚目以降のシートのA1 の式を =WORKDAY(開始日,Z1-1,祝日) にすればいかがでしょう。
(β) 2016/04/02(土) 09:55
各ブックに年間の祝日が入ったシート(シート名:祝日)を1枚目に入れておいて
Sub 日付()
Dim i As Long
Application.ScreenUpdating = False
For i = 2 To Sheets.Count Sheets(i).Range("A1").Value = Application.WorkDay(Date, i - 1, Sheets("祝日").Range("A1:A30").Value) Sheets(i).Name = Format(Sheets(i).Range("A1").Value, "mmddaaa") Next
Application.ScreenUpdating = True
End Sub (se_9) 2016/04/02(土) 10:00
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.