Excel VBA 質問スレッド №1989 (解決済)
横型カレンダーで最終列にInputboxに入力された日数分日付と曜日を横に足したい
投稿者 : けろ 投稿日時 : 2024/08/11(Sun) 18:16:49 OS : Windows 10 EXCEL : Excel 2013
連日の投稿ですみません。
横型カレンダーを作っています。
やりたいことはずらずらと横にとにかく足していきたいです。
最終列から1列を起点にinputboxに入力された日数分足したいです。50と入力すれば最終列から50日分足す、120と打てば120日分足すといった感じが理想です。
初歩の初歩で止まってしまいました。
連日の投稿ですみません。
横型カレンダーを作っています。
やりたいことはずらずらと横にとにかく足していきたいです。
最終列から1列を起点にinputboxに入力された日数分足したいです。50と入力すれば最終列から50日分足す、120と打てば120日分足すといった感じが理想です。
初歩の初歩で止まってしまいました。
Sub inputbox分、カレンダーを作る() Dim lastColumn As Integer '最終列格納用変数 ' 最終列を取得 lastColumn = Cells(2, Columns.Count).End(xlToLeft).Column '取得した最終列の横にinputbox入力日数分カレンダー追加 End Sub
スポンサーリンク
[返信 1] Re : 横型カレンダーで最終列にInputboxに入力された日数分日付と曜日を横に足したい
投稿者 : さんこう 投稿日時 : 2024/08/11(Sun) 18:54:31
>ずらずらと横にとにかく足していきたいです。
手動でやるとしたら、どうしますか?
「足していく」を具体的な手順に落とし込んでいくといいでしょう。
>ずらずらと横にとにかく足していきたいです。
手動でやるとしたら、どうしますか?
「足していく」を具体的な手順に落とし込んでいくといいでしょう。
[返信 2] Re : 横型カレンダーで最終列にInputboxに入力された日数分日付と曜日を横に足したい
投稿者 : けろ 投稿日時 : 2024/08/12(Mon) 11:33:37
理解不足ですみません。
全く歯が立ちませんでした。(下の記述はエラーになります。)
手動でもしやるとなる事をイメージしたら、最終列のところを選択して、その前のセルに1を足す、前のセルに1を足す、それを任意の数字まで繰り返す、です。
■[返信 1] さんこうさん(2024-08-11 18:54:31)の記事
> >ずらずらと横にとにかく足していきたいです。
>
> 手動でやるとしたら、どうしますか?
>
> 「足していく」を具体的な手順に落とし込んでいくといいでしょう。
>
理解不足ですみません。
全く歯が立ちませんでした。(下の記述はエラーになります。)
手動でもしやるとなる事をイメージしたら、最終列のところを選択して、その前のセルに1を足す、前のセルに1を足す、それを任意の数字まで繰り返す、です。
Sub カレンダー作成() Dim ws_1 As Worksheet Dim i As Long Dim lastcolumn_1 As Long Dim inp As String Dim newDate As Date Set ws_1 = Worksheets("ガントチャート") lastcolumn_1 = ws_1.Cells(2, Columns.Count).End(xlToLeft).Column ' 日付行の最終列を取得 newDate = DateAdd("d", 1, lastcolumn_1) ' lastcolumn_1の数字の1日後取得 inp = InputBox("カレンダーに追加したい日数を入力してください") ' インプットボックスの数値を For i = lastcolumn_1 To inp ws_1.Cells(2, i).Value = newDate Next End Sub
■[返信 1] さんこうさん(2024-08-11 18:54:31)の記事
> >ずらずらと横にとにかく足していきたいです。
>
> 手動でやるとしたら、どうしますか?
>
> 「足していく」を具体的な手順に落とし込んでいくといいでしょう。
>
[返信 3] Re : 横型カレンダーで最終列にInputboxに入力された日数分日付と曜日を横に足したい
投稿者 : てらてら 投稿日時 : 2024/08/12(Mon) 12:41:32
こんにちは。
DateAddはFor文の中。
繰り返しの i は、追加していく数
転記する番地は、 lastcolumn_1 + i
エラー処理と書式のコピーはおまけ。
こんにちは。
DateAddはFor文の中。
繰り返しの i は、追加していく数
転記する番地は、 lastcolumn_1 + i
エラー処理と書式のコピーはおまけ。
Sub カレンダー作成() Dim ws_1 As Worksheet Dim i As Long Dim lastcolumn_1 As Long Dim inp As Long '数値型 Dim newDate As Date Set ws_1 = Worksheets("ガントチャート") lastcolumn_1 = ws_1.Cells(2, Columns.Count).End(xlToLeft).Column ' 日付行の最終列を取得 'newDate = DateAdd("d", 1, CDate(Cells(2, lastcolumn_1))) ' lastcolumn_1の数字の1日後取得 On Error Resume Next inp = CInt(InputBox("カレンダーに追加したい日数を入力してください")) ' インプットボックスの文字列を数値に For i = 1 To inp ws_1.Cells(2, lastcolumn_1 + i).Value = DateAdd("d", i, CDate(Cells(2, lastcolumn_1))) ws_1.Cells(2, lastcolumn_1 + i).NumberFormatLocal = ws_1.Cells(2, lastcolumn_1).NumberFormatLocal Next End Sub
[返信 4] Re : 横型カレンダーで最終列にInputboxに入力された日数分日付と曜日を横に足したい
投稿者 : さんこう 投稿日時 : 2024/08/12(Mon) 13:14:43
答えはでているようなので、余談です。
>手動でもしやるとなる事をイメージしたら
コピーとかオートフィルなどは使わないのですか。
参考になれば。
<vba 列 コピー>
https://www.google.com/search?q=vba+%E5%88%97+%E3%82%B3%E3%83%94%E3%83%BC
答えはでているようなので、余談です。
>手動でもしやるとなる事をイメージしたら
コピーとかオートフィルなどは使わないのですか。
参考になれば。
<vba 列 コピー>
https://www.google.com/search?q=vba+%E5%88%97+%E3%82%B3%E3%83%94%E3%83%BC
[返信 5] Re : 横型カレンダーで最終列にInputboxに入力された日数分日付と曜日を横に足したい
投稿者 : けろ 投稿日時 : 2024/08/12(Mon) 13:21:02
さんこう様 てらてら様
ありがとうございました!!!やりたい事ができました。
変な記述にもかかわらず読み解いてくださり、感謝しかありません。
さんこう様 てらてら様
ありがとうございました!!!やりたい事ができました。
変な記述にもかかわらず読み解いてくださり、感謝しかありません。
当掲示板について
- Excel VBA に関する掲示板です。Excel VBA に関する質問や疑問、それに対する解決方法など気軽に投稿してください。
- 記事内ではHTMLのタグは使用できません。
- 記事は一度投稿すると修正できません。内容を訂正したい場合は返信で対応してください。
- Sub〜End Sub、Function〜End Function は自動的にプログラムコードとみなし、枠で囲って見やすくします。
- Excel VBA とは関係ないことや、他人が不快に思うようなことなど、管理人が適当でないと判断した記事は削除する場合があります。
スポンサーリンク
返信入力フォーム
( 処理日時 : 2025-07-06 08:01:36 )