• ベストアンサー

表が長いんです。

今EXCELで表を作っているのですが、この表というのがとっても横に長いのです。 期間(1)開始日,期間(1)終了日,期間(1)数量,期間(1),(2)開始日,期間(2)終了日・・・ 上のような感じで1つの期間に7項目で、24期間分横に、期間(1)の1の部分を1,2,3,4,5・・・24というように数字を変えて、ずらーっと表示できるマクロを作りたいのですが、やりかたがわかりません。誰か教えてください!!お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.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列目から値が入ります。以下列数が増えていきます。

noname#3876
質問者

お礼

なるほど。そういうことだったんですね(^O^) 早速やってみたら見事入っていきました!! 本当に親切にありがとうございました★

その他の回答 (1)

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.1

質問からは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

noname#3876
質問者

補足

親切にありがとうございます(^O^) 早速入れてみたら見事に入っていったんですが、実は、2行目の10列目まではすでに他の項目が入っていて、2行目の11列目からこれを入れていきたいんですが・・。 これだと1列目に入っていくんです。自分でちょっと数字をいじってみたのですが、どうもうまくいきません(>_<) あつかましいんですけどもう一度教えていただけますか?お願いします!!

関連するQ&A