- ベストアンサー
表が長いんです。
今EXCELで表を作っているのですが、この表というのがとっても横に長いのです。 期間(1)開始日,期間(1)終了日,期間(1)数量,期間(1),(2)開始日,期間(2)終了日・・・ 上のような感じで1つの期間に7項目で、24期間分横に、期間(1)の1の部分を1,2,3,4,5・・・24というように数字を変えて、ずらーっと表示できるマクロを作りたいのですが、やりかたがわかりません。誰か教えてください!!お願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
一番長い部分を下記の様にします。 Cells(2, (Cot2 - 1) * 7 + Cot1 + 10) = Application.Substitute(Hyodai(Cot1), "#", Cot2) cells(x,y) で 'x'は何行目、'y'は何列目を表します。 Cot1=1、Cot2=1 とすると、Cells(2,11)となり、2行目11列目から値が入ります。以下列数が増えていきます。
その他の回答 (1)
- nishi6
- ベストアンサー率67% (869/1280)
質問からは1期間中の7項目が何か不明なため下記マクロでは4つしかセットしていません。 5番目から7番目までは、数値部分を『#』にして(1~4を参考に)Hyodai(5)、Hyodai(6)、Hyodai(7)を完成させて下さい。 標準モジュールに貼り付けます。 Public Sub HyodaiSet() Dim Cot1 As Integer '項目のカウンタ Dim Cot2 As Integer '期間カウンタ Dim Hyodai(7) As String Hyodai(1) = "期間(#)開始日" Hyodai(2) = "期間(#)終了日" Hyodai(3) = "期間(#)数量" Hyodai(4) = "期間(#)" Hyodai(5) = "???1(#)" Hyodai(6) = "???2(#)" Hyodai(7) = "???3(#)" For Cot2 = 1 To 24 For Cot1 = 1 To 7 Cells(1, (Cot2 - 1) * 7 + Cot1) = Application.Substitute(Hyodai(Cot1), "#", Cot2) Next Next End Sub
補足
親切にありがとうございます(^O^) 早速入れてみたら見事に入っていったんですが、実は、2行目の10列目まではすでに他の項目が入っていて、2行目の11列目からこれを入れていきたいんですが・・。 これだと1列目に入っていくんです。自分でちょっと数字をいじってみたのですが、どうもうまくいきません(>_<) あつかましいんですけどもう一度教えていただけますか?お願いします!!
お礼
なるほど。そういうことだったんですね(^O^) 早速やってみたら見事入っていきました!! 本当に親切にありがとうございました★