No.3ベストアンサー
- 回答日時:
こんにちは。
maruru01です。一般操作による方法です。
(といっても実際はマクロですが)
日付ですので、どこかに年と月を入れる場所を用意した方がいいです。
そこで、1日のシート(Sheet1)のA1に年、B1に月を入力するとします。
まず、どのシートを選択していてもいいので、メニューの[挿入]→[名前]→[定義]で、
[名前]:適当な名前(仮に「シート位置」とします。)
[山椒範囲]:「=GET.DOCUMENT(87)+NOW()*0」
として、[OK]します。
これで、試しにどのシートのどのセルでもいいので、
=シート位置
と入力すると、そのシートの位置が表示されます。
シート位置というのは、シート下部のシートタブの左からの位置です。
したがって、各日にちのシートが左から順に並んでいれば、シートに渡った連番になります。
仮に各シートのA2に日数、B2に曜日を表示するとします。
全シートを(シートタブで)選択して、A2に、
=シート位置
と入力します。
次に、そのままB2に、
=DATE(Sheet1!$A$1,Sheet1$B$1,A2)
と入力して、B2のセルの表示形式をユーザー定義で、
「aaa」
とすれば、曜日を表示出来ます。
曜日は、数式を、
=TEXT(DATE(Sheet1!$A$1,Sheet1$B$1,A2),"aaa")
とすれば、表示形式を変えなくても直接表示出来ます。
年と月を直接数式中に入れて、
=DATE(2005,8,A2)
のようにしてもいいし、今日の日付から、
=DATE(YEAR(TODAY()),MONTH(TODAY()),A2)
としてもいいでしょう。
No.2
- 回答日時:
数式初心者・マクロ初級者です。
(万年)一般機能の方はちょっとわからないので、VBAです。
VBAも使われますか?
既存シートに対する入力だと、こんなのかなぁ。。。
Sub 日付入力したいシートを選択してから実行してね()
Dim Sh As Worksheet
Dim Rng As Range
Dim myYmd As Variant
Dim Rsp As Integer
Do
myYmd = Ymd()
Rsp = MsgBox(myYmd & "から始めますよ!", vbYesNoCancel)
If Rsp = vbCancel Then End
Loop Until Rsp = vbYes
On Error GoTo myCancel
Set Rng = Application.InputBox("入力セルをクリック!", "セルの指定", "=$A$1", , , , , 8)
On Error GoTo 0
Application.ScreenUpdating = False
On Error Resume Next
For Each Sh In ActiveWindow.SelectedSheets
With Sh.Range(Rng.Address)
.Value = myYmd
.NumberFormatLocal = "d""日"" aaa"
End With
myYmd = myYmd + 1
Next Sh
On Error GoTo 0
Application.ScreenUpdating = True
myCancel:
End Sub
Function Ymd() As Variant
Dim myY As Long
Dim myM As Long
Dim myD As Long
myY = Year(Date)
myM = Month(Date) + 1
myD = 1
On Error GoTo myCancel
myY = Application.InputBox(myY & "年でいい?", "セルの指定", myY, , , , , 1)
If myY = False Then End
myM = Application.InputBox("何月?", "セルの指定", myM, , , , , 1)
If myM = False Then End
Ymd = DateSerial(myY, myM, myD)
On Error GoTo 0
Exit Function
myCancel:
MsgBox "終了しますよ。"
End
End Function
半年振りくらいにコード組んだので、あんまり自信ありません。
あと、ざっと書きなぐったので、細かい設定は端折ってます。
動作チェックはしたけど、試す時はバックアップとってからにして下さいね。
(動作check:Excel97)
VBAなら分かるけど、一般機能だったら・・・という質問だったら流して下さい。
No.1
- 回答日時:
シート名は、原理的に、関数ではセットできません。
1シート1シートひとつづつ、名前をセットするほかには、VBAでないとできないでしょう。
Sub test01()
yymm = InputBox("年月例200508")
nextM = DateSerial(Val(Mid(yymm, 1, 4)), Val(Mid(yymm, 5, 2)) + 1, 1)
For i = 1 To 31
d = DateSerial(Val(Mid(yymm, 1, 4)), Val(Mid(yymm, 5, 2)), i)
If d >= nextM Then Exit Sub
wd = Format(d, "aaa")
Worksheets.Add(after:=ActiveSheet).Name = i & "日" & wd
Next i
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセル関数について 2 2022/04/13 18:25
- Excel(エクセル) セルによって印刷するシートを変える方法 EXCEL-VBA 2 2022/08/01 20:48
- Excel(エクセル) ユーザー定義について質問です。 2 2023/06/28 13:21
- Excel(エクセル) 再質問です。エクセルでシートが1から31まであり、日付けが入力されているセルがあります。シート1から 4 2022/08/02 23:08
- Excel(エクセル) 単価シートから単価をエクセル関数で自動取得する方法 1 2023/07/02 22:00
- Excel(エクセル) エクセルで”入力シート”の文字書式の変更を”出力シート”で同じ文字書式で印刷したいです。VBA希望 4 2023/04/24 11:07
- Excel(エクセル) エクセルVBAでチェックボックスにチェックを入れる 1 2022/09/14 00:52
- Excel(エクセル) 前の(左隣の)シートを連続参照するように、あとから変更したい 1 2023/02/22 00:51
- その他(パソコン・スマホ・電化製品) メインシートに自動反映させるために、別のシートに、祝日をまとめて入力しておき、例えば 2月11日は建 2 2023/01/02 22:18
- Excel(エクセル) エクセルで割り振りをする方法 7 2022/08/02 14:02
このQ&Aを見た人はこんなQ&Aも見ています
-
プロが教えるわが家の防犯対策術!
ホームセキュリティのプロが、家庭の防犯対策を真剣に考える 2組のご夫婦へ実際の防犯対策術をご紹介!どうすれば家と家族を守れるのかを教えます!
-
複数シートの特定の位置に連番を振る方法??
その他(Microsoft Office)
-
エクセルのシートごとに連番を入れたい
Excel(エクセル)
-
Excelで同じシートのコピーを一気に複数作りたい
Excel(エクセル)
-
-
4
シートをコピーして シートに1から連番をふる
Word(ワード)
-
5
エクセルで前のシートを連続参照したい
Excel(エクセル)
-
6
「社長様いますか」という営業電話に、そろそろガツンと言いたい
ビジネスマナー・ビジネス文書
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
別シートからの文字を変更
-
エクセルの行の抽出について質...
-
Excel 2019 のピボットテーブル...
-
Excelのセルを飛ばして入力する
-
【マクロ】エクセルにかいてあ...
-
Excelのオートフィル
-
Excel初心者です。 詳しい方、...
-
スプレッドシート クエリ関数 1...
-
MOS365 Excel Expert / Excel R...
-
西暦や和暦の表示をyyyymmdd表...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセルの数式で教えてください。
-
スプレッドシートの関数VLOOKUP...
-
エクセルでセルに「氏名を入力...
-
エクセルで指定した日付、店舗...
-
【Excel】セル内の時間帯が特定...
-
Excelのグラフ軸について
-
Excel 2019 は、SPILL機能があ...
-
関数を教えて下さい。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ファイル内にある数字の出現回...
-
Excel関数の先頭に「@」が入っ...
-
エクセルの気味悪い不思議
-
Excel VBAで、実行時にsheet上...
-
表示されている人数だけを数え...
-
他人が作ったマクロの理解
-
Excelの関数について質問です。
-
Excel 集計表
-
エクセル 日時の計算式について
-
Excelの関数に関して質問です。...
-
エクセル:セル内の文字列の下...
-
絞り込み検索
-
エクセルの関数で
-
エクセルの書式設定について教...
-
余分なEXCELファイルに印刷され...
-
VBA 同一シート内での転記の仕方
-
長期休みの関数はありますか
-
Excelの空のセル
-
エクセルで入力してある文を別...
-
Excelのマクロで、セルを結合し...
おすすめ情報