お世話になります。
前回、QNo.1647957にて質問した者です。
その内容は、
「sheet1を1日、sheet2を2日とします。
2日のB1に入力した数値が、1日のA1にも入力され(飛び)、
3日以降も前日のA1に入力されるように、
sheet1のひながたで、31日分作成したいのです。」
と、いうものでした。
3件も回答していただおかげで、無事日誌を作成することができました。
助かりました。
そこで今回の質問なのですが、
前回教えていただいたマクロとは逆に、
1日のA1に入力した数値が、2日のB1にも入力され(飛び)、
2日以降も次の日のB1に入力されるように、
sheet1のひながたで、31日分作成したいのです。
マクロを教えてください。(関数でもかまいません)
どうかよろしくお願いします。
No.2ベストアンサー
- 回答日時:
こんばんは。
詳しい状況が変われば、またコードも変わるかもしれません。例えば、このマクロが、それぞれのシートが同じような動作をする場合は、登録するモジュールの場所とコードが少し替わります。
単にA1だけではないような気がしますが、とりあえず、A1だけにします。
'<これは、Sheet1のモジュールで他に入れられません。>
Private Sub Worksheet_Change(ByVal Target As Range)
'その範囲がA1だけでしたら、Rangeの中は、A1だけにします。
If Not Intersect(Target, Range("A1")) Is Nothing Then
For i = 2 To 30
'それぞれのシートの入力したセルの右隣に入力する
Worksheets(i).Range(Target.Offset(, 1).Address(0, 0)).Value = Target.Value
Next i
End If
End Sub
Sheet1 から、Sheet31 まで、順に並んでいるとします。
もし、そうでない場合は、Worksheets("Sheet1"&i).Range... となります。
次に、入力先は、A1 の場合は、B1となる、つまり、右となりのセルを考えられています。
ですから、入力範囲が、Range("A1:A30") でしたら、A2は、B2 になり、A3 は、B3... というようになっていきます。
Sheet1 のA1 に何か入力してみて、他のシートがどうなっているか試してみてください。
こんばんわ。
前回に続き、ご回答ありがとうございます。
ところで、
今回せっかく作成していただいたマクロなんですが、
標準モジュールにこのままペーストして、実行可能ですよねぇ。。。?
先程から、試しているのですが、うまくいかないんです。
初心者につき、お許しを。
ご教授願います。
No.5
- 回答日時:
こんばんは。
Wendy02です。>標準モジュールにこのままペーストして、実行可能ですよねぇ。。。?
# <これは、Sheet1のモジュールで他に入れられません。>
と書いてあるとおりなんですね。
該当するシートタブを右クリックして、「コードの表示」とかあるはずです。それをクリックすると現れる場所です。
なお、テンプレートと今回のご質問とは、直接関係がないと思います。確かに、毎月使うものに対しては、テンプレートを使ったほうがよいとは思いますが、それは書かれていません。
式自体を入れるのでしたら、前回のものを直したら、マクロでも可能ですが、そうでないのなら、
シートタブのSheet2を選択して、シフトを押しながら、Sheet31を選択すれば、全部が作業グループになりますから、それで、Sheet2をアクティブにして、
Sheet2のB1のところで、
=Sheet1!A1
でEnterをすれば、全部、同じ式が入ります。
それで解決するかと思います。
失礼しました。あせっているせいか、見落としておりました。
今回の作業も、雛型が複雑な様式であることや、
膨大な量かつ、締め切り間近という理由で、
Wendy02さまに作成していただいたマクロが無いと、
先に進まないものでした。
アドレス等いじりながら何とかクリアできました。
(テンプレートはこれから先のお話です。すみません)
で、マクロ成功しました!お蔭様で、朝までに仕上げられそう?です。
何とお礼を申し上げていいのやら、今回も本当に助かりました。
ありがとうございました。
またご指導お願いしますね!
No.4
- 回答日時:
#3の方と同意見です。
マクロで仕事をさせるのは爽快感がありますし、のちのちのVBAの勉強にもなるのでしょうが、仕事としては単純な部類に入ると思います。
テンプレートとして31日分あるブックを作成し、登録しておけば、次から気楽にその月分を作成できます。テンプレートが上書きされて消えることもありませんし、便利な機能だと思いますよ。
ご回答ありがとうございます。
おっしゃる通りですが、私事で繁忙期に入り、かつ膨大な量なので、どうしてもマクロで済ませたかったのです。
時間に余裕のあるときに、そのようにさせていただきます。
すみません。
また、アドバイスよろしくお願いします。
No.1
- 回答日時:
"1日"というシートを作っておきます。
下記を実行します。
Sub test07()
n = "1日"
For i = 2 To 3
Sheets(n).Copy After:=Sheets(n)
ActiveSheet.Name = StrConv(i, vbWide) & "日"
n = "=" & n & "!A1"
ActiveSheet.Range("b1").Formula = n
n = ActiveSheet.Name
Next i
End Sub
(3日でとめてます。実際は31までか、月末日まで繰り返してください。)
シート1日のA1にaaaを入れる。2日のB1にaaaが入る。
シート2日のA1にbbbを入れる。2日のB1にbbbが入る。
こんなのでよいでしょうか。
早々のご回答ありがとうございました。
早速実行してみましたが、残念ながら
実行時エラー9が表示されてしまいます。
「インデックスが有効範囲内にありません」
ということのいみがわからないのですが、
できれば教えていただけないでしょうか?
色々といじってみます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- 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
- その他(Microsoft Office) 従業員増減対応で当番種類の増減対応な当番表 21 2022/07/19 07:30
- Excel(エクセル) シート参照を含む数式を連続コピー 3 2022/12/10 11:42
- Excel(エクセル) 並べ替え、ソートの構文がわからない。 お世話になります。VBA超初心者です。 エクセルでワークシート 2 2023/06/28 21:00
- Excel(エクセル) Excelで行削除をすると… 1 2023/07/26 11:57
- Visual Basic(VBA) vbaエクセルマクロ RemoveDuplicatesについて RemoveDuplicatesを使 3 2023/02/28 01:13
- Excel(エクセル) エクセル関数について 2 2022/04/13 18:25
- Excel(エクセル) Excelのマクロについて 2 2022/06/14 03:38
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
マクロを複数シートに実行する...
-
コマンドボタンがデザインモー...
-
エクセルを開いたとき常に同じ...
-
EXCELでワークシートを開いたら...
-
【 Excel】シートの見出しに自...
-
エクセルで回数をカウントする...
-
エクセルでシートの並び替えで...
-
VBA シート名を先月の名前に...
-
VBAで作るexcel検索窓
-
エクセルシート内での閲覧制限
-
VBAで条件によってシート見出し...
-
EXCELのエラー
-
エクセルの複数のワークシート...
-
マクロを特定の複数シートで実...
-
エクセルで串刺ししたシートの...
-
エクセル2010 マクロを実行す...
-
ExcelのSheetに作られたMacro1...
-
全てのシートから特定文字を含...
-
Excel:複数シートから条件に合...
-
シートを保護した時でも並べ替...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
コマンドボタンがデザインモー...
-
マクロを複数シートに実行する...
-
【 Excel】シートの見出しに自...
-
EXCELでワークシートを開いたら...
-
エクセルを開いたとき常に同じ...
-
VBAで条件によってシート見出し...
-
EXCELでマクロを使わずに図形の...
-
マクロを特定の複数シートで実...
-
エクセルでシートの並び替えで...
-
エクセルの複数のワークシート...
-
複数シートの保護・解除
-
エクセルで複数のSheetを一括フ...
-
エクセルで回数をカウントする...
-
EXCELのエラー
-
Excel:複数シートから条件に合...
-
VBA シート名を先月の名前に...
-
EXCELの起動時に常に同じ...
-
Excelで,特定のシートを開いた...
-
Excelのマクロの呼び出し元を知...
-
メッセージボックスでシート名...
おすすめ情報