
No.1ベストアンサー
- 回答日時:
次の方法は如何でしょうか。
(1)シートは名は、1~31とします。
(2)シート2~31までを選択→A1に=DATE(YEAR(Sheet1!$A$1),MONTH(Sheet1!$A$1),MID(CELL("filename",$A$1),FIND("]",CELL("filename",$A$1))+1,2))を入力
(3)シート1を選択、A1に日付を入力
因みに小の月の場合、シート31は「翌月の一日」になります。
早速ありがとうございます!
やってみたのですがうまくいきません。
(3)の日付を入力というのはどのような方法で入力するのでしょうか?2008/8/1と入力すると2008年8月1日のように変換されるとダメですか?
No.6
- 回答日時:
式をコピーしたり31シートを作成したりするのも面倒なので、1シートだけ作成すればコピーまで行うマクロにしてしまいました。
(できあがるシート名を1~31としています。)
準備:下のマクロをマクロのモジュールにコピペ
(投稿の都合上でインデントを全角ブランクにしています)
1)シートのフォーマットの雛型となるものを作成し、シート名は1(英数字の1)として、他にシートが無い状態にしておく。
2)この状態のものを雛型のブックとして保存
[ ある1ヶ月分を作成するとき ]
1)雛型のブック(上のブック)のコピーを作成
2)シート1のA1に日付を入力する(日にち形式のものならOK 例:08/8/1)
3)セットしておいた、マクロを実行。
注)マクロは原型のみなので、入力された値(日にち)のチェックや、シート名が正しいかなどのチェックは一切行っていません。
(実際に使用するには、この辺のチェックを入れておかないと、誤操作の時にエラーが出ます)
------------------------------------------
Option Explicit
Dim s1 As Worksheet, s2 As Worksheet
Dim d_date As Date
Dim m_str As String, d_str As String, w As String
Dim d As Integer
Const L_week = "日月火水木金土"
Sub BookSet()
Set s1 = Sheets("1")
d_date = s1.Cells(1, 1).Value
m_str = Str(Format(d_date, "yyyy")) & "年" & Str(Format(d_date, "m")) & "月"
d = 1
d_str = m_str & Str(d) & "日"
While IsDate(d_str)
If (d = 1) Then
Set s2 = s1
Else
s1.Copy after:=Worksheets(Worksheets.Count)
Set s2 = ActiveSheet
s2.Name = Str(d)
End If
With s2.Cells(1, 1)
.NumberFormatLocal = "@"
.HorizontalAlignment = xlLeft
.Value = d_str & "(" & Mid(L_week, Weekday(d_str), 1) & ")"
End With
d = d + 1
d_str = m_str & Str(d) & "日"
Wend
s1.Activate
End Sub
No.5
- 回答日時:
NO4です。
軽率でした。
以下の訂正版をお試し下さい。
=DATE(YEAR(1!$A$1),MONTH(1!$A$1),MID(CELL("filename",$A$1),FIND("]",CELL("filename",$A$1))+1,2))として下さい。
今度は貼り付けてすぐに、A1に「#VALUE!」と表示され、その後シート1に日付を入力しても変化なしです。
なにか、私のやり方がマズイのかも知れません。
No.4
- 回答日時:
NO3です。
以下の手順でお試し下さい。
(1)シート名を1~31に設定
(2)シートタグの2をクリック→shiftキーを押しながらシートタブの31をクリック(シート2~シート31が選択された状態になる)
(3)シート2のA1に関数を入力(シート2~シート31のA1に関数が入力される)
(4)シートタブ1をクリック→A1に日付を入力
ご親切にありがとうございます!
おっしゃる通りにしてみたのですが・・・
(3)シート2のA1・・・というところで、mu2011さんが教えてくださったものをコピーして貼り付けたのですが(これが悪いのかな?)
貼り付けると「値の更新:Sheet1」というのが出ます。
ここで何かを選択するのですか?それが出ている時はシート2のA1には「1900/1/0」と表示されています。
その「値の更新」というのをキャンセルするとA1には「#REF!」と表示されます。
よろしくお願いします!
No.2
- 回答日時:
まずはじめに1日のシートのA1に日付を入力。
表示形式を調整。次に2日のシートのA1のデータを張り付ける。そのままの状態で、「形式を選択して貼り付け」を選択し、「リンク貼り付け」を選択。そのままの状態で、F2ボタンを押して、Sheet1!$A$1のうしろに半角で+1と入力。
3日のシートのA1に2日のシートのA1を張り付ける。F2ボタンを
押して+1を+2に修正。
以降は31日まで足す数字を1つずつ増やしながら、3日のシートの
手順を繰り返す。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 再質問です。エクセルでシートが1から31まであり、日付けが入力されているセルがあります。シート1から 4 2022/08/02 23:08
- Visual Basic(VBA) 顧客ごとに違う点検案内を作成するマクロ 4 2022/09/16 05:34
- Excel(エクセル) Excelで日報を自動で作成したい 売上管理シートに入力した売上データを、日報に自動反映させたいと考 1 2023/04/29 18:07
- Excel(エクセル) Excel 売上管理シートに入力した売上データを、日報に自動反映させたいと考えています。 売上管理シ 3 2023/04/29 18:08
- Excel(エクセル) エクセル関数について 2 2022/04/13 18:25
- Excel(エクセル) エクセルでタブ全ての日付を変えたい 1 2022/07/25 18:50
- Excel(エクセル) 【マクロ】ファイル名の日付によって、保管するフォルダを、自動選択したい 4 2023/08/16 11:24
- Excel(エクセル) Excelで行削除をすると… 1 2023/07/26 11:57
- Excel(エクセル) シート参照を含む数式を連続コピー 3 2022/12/10 11:42
- Excel(エクセル) セルに特定の色が出た時だけ、式を発動させたい 4 2022/06/17 10:32
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
勤怠表について ABS、TEXT関数...
-
エクセルの関数について
-
Excelで4択問題を作成したい
-
エクセル
-
エクセルの表で作業してます。 ...
-
エクセル GROUPBY関数について...
-
エクセルの複雑なシフト表から...
-
【Officer360?Officer365?の...
-
エクセルについて
-
Amazonでマイクロソフトオフィ...
-
グループごとの人数のカウント
-
グループごとの人数のカウント
-
エクセルシートの見出しの文字...
-
グループごとの個数をカウント...
-
【マクロ】別ファイルへマクロ...
-
【マクロ】変数に入れるコード...
-
【マクロ】実行時エラー '424':...
-
ページが変なふうに切れる
-
9月17日でサービス終了らし...
-
エクセルのリストについて
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
9月17日でサービス終了らし...
-
エクセル
-
【マクロ】WEBシステムから保存...
-
エクセルの循環参照、?
-
エクセル ドロップダウンリスト...
-
エクセルのdatedif関数を使って...
-
特定のセルだけ結果がおかしい...
-
【マクロ】A列にある、日付(本...
-
【マクロ】EXCELで読込したCSV...
-
【マクロ】アクティブセルの時...
-
【エクセル】期限アラートについて
-
iPhoneのExcelアプリで、別のシ...
-
【関数】同じ関数なのに、エラ...
-
Excelの新しい空白のブックを開...
-
【マクロ】3行に上から下に並...
-
【マクロ】宣言は、何のために...
-
VBA チェックボックスをオーバ...
-
Excelについての質問です 並べ...
-
【マクロ】アクティブセルの2...
-
【関数】不規則な文章から●●-●●...
おすすめ情報