• ベストアンサー

表が長いんです。

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

noname#3876
noname#3876

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

  • ベストアンサー
  • 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

  • 【Excel】スケジュール表 進捗率を入れると帯を描写するマクロ

    【Excel】スケジュール表 進捗率を入れると帯を描写するマクロ スケジュール表へ開始日と終了日を入力することで、その期間が"■"で表示される表があります。 この表へ進捗率を入力することで、開始日を基準に帯を表示させたいです。 進捗率が更新されたら、帯の長さ表示も更新されるように。 ご教授、宜しくお願いいたします。

  • エクセル2007にて表から

    エクセル2007にて表から DATAを抜き出したいのでご教授ください 画像の上のセルに数字を入れていき個数部分(青丸部分)に数値があるものを 元にして 下セル13からのような並びにDATAを作成したく思っております。 マクロは自動保存などで触ったことがあります。 数値がある部分というのが難しく思っておりますので すいませんがよろしくお願いします

  • 表の各部名、英語で

     初めて質問します。教えてください。   いろんな「ところで表って使うけど、英語でなんて言うのか教えてください。  あの表の一番上に書くところ、  うーんと、何かいい例ないかな、そうそう、国を調べるとき、 たとえば、左側に上から、「国名」って書いて、その下に、アメリカ、イギリス、中国、カナダ、南アフリカとか書いていって、次に、「面積」って書いてその下に、数字を入れていって、次に「面積」って「書いた右に「首都」とか書いて、その下に、ワシントンDC、北京、オタワとか書いて、また右に「人口」とか書いていって、その下に数字入れますよね。  その一番上の、項目って言うんですか?、その部分んて英語で何ていうですか、またそれぞれの項目の縦列になった部分とか、横の「行」っていうのかしら、それってなんて言うんですか。またマス目になった小さな長方形のところもなんて言うのか、  長くなってしまいました。お願いします。

  • EXCELである表から違う表へデータを取り込む

    こんにちは。エクセルでわからないことがあるので 教えてください。 エクセルで作ったある表のデータを 違うフォーマット (表の形が違う)に各セルごと自動的にデータを取り込める ようにできますか? 得意先から送られてくるエクセルデータがあるのですが、 弊社のフォームに打ち直しをしています。入力事項は 20項目程度で、各項目には文字が入ったり、数字が入ったり します。 説明がわかりにくく申し訳ありません。 足りない部分があれば、補足させていただきますので、 どうぞお知恵を貸してください。よろしくお願いします。

  • エクセルでの表作成

    エクセルで表を作成するとします。ある製品の番号、数量を入力します。その製品番号、数量を、他の表(シート)に反映させます。 ある製品の数量が0になったら、反映させた表から、その製品の番号が入力されているセルを削除、又は、数値が消えて、下のセルに入力された数値が上のセルに繰り上がって、表示される。 こんな事、出来ますか?

  • Excel日程表:開始日~終了日を自動で色付けたい

    Excelで月間スケジュールを作りたいと思います。 複数案件の一覧表にし、案件の開始日と終了日の期間のセルに、自動で色が付くようにしたいです。 条件付き書式で出来るでしょうか? どのような条件付けをすれば実現できますか? 添付画像のような表をイメージしています。 <やりたいこと> (1)左側に日付を入れると、右側のカレンダー部分に色がつく。(開始日から納品日まで) (2)受注日と納品日は濃い色を付ける。 (3)月をまたがる日付を入れてもエラーにならない。 <目的> 各案件への取り組み期間が一見してわかるようにしたいです。 複数案件の進行が重複し、稼働の重たくなる時期を確かめるためです。 ※2003でも2007でも使える書式設定でお願いします。 ※私はマクロの知識が乏しい&Excelスキルの低い同僚にも使ってもらうため、マクロは使いたくありません。 ※のちのち数式が崩れたときにも修復が容易なように、シンプルな数式だとありがたいです。 ※条件付き書式以外の方法で、上記が解決できるならそれも教えてください。 ご教授ください。よろしくお願いします。

  • エクセルで入力した数字と同数のセルを着色したい

    1~4の数字をエクセルの列に入力すると、自動的にその横のセルが数字分塗られるようにしたいのです。 具体的には、J1に1と入れると、K1ひとマスが青くなり、J2に4と入れると、K2,L2,M2,N2の4マスが青くなると言うように、数字を入れるとどの項目がどのレベルかと言うことが、表のように一目でわかるようにしたいのです。 マクロは全く素人ですので、わかるように教えて頂けると助かります。 皆様、宜しくお願い致します。

  • 表からの検索

    お世話になります。 エクセルについて質問させていただきます。 計算式というか呼び出しというか、 簡単な表があるとします。 A列は一マスごとに0~359(水平角度) 1行には1から20度(上下方向の俯角)あるとします。 350度の下へ1度の数字を別のページに呼び出したいのです。 別のページに角度と俯角を入力すると、 その横のセルに表のデータが表示されるような 計算式などはありますでしょうか? (マクロなどを使わずに) わかりにくい質問で申し訳ないですが、 よろしくお願い致します。

  • Word2003での表に関して

    Word2003での表に関して質問です。 1)Wordで縦長の表を一つ作り、それを横に間隔を開けて何個か並べようとコピー&ペーストすると、 表がくっついて全体で一つの表になってしまいます。 横方向に間隔を開けて表をコピーする/新たな表を作成することはできるのでしょうか。 2)Excelでは、セルの書式設定で「縮小して全体を表示する」という項目がありますが、 Wordでは同様の機能はないのでしょうか。探しましたが見つかりませんでした。

  • エクセルで工程表・作業表を作っています 塗りつぶしの自動化についてお教えください

    エクセルで工程表・作業表をつくることになりました。 A1セルに項目名「年月日」A2セルに項目名「曜日」 以下A3 A4・・・と作業氏名が入っています B1から右方向に2005/01/01の形式で連続して 年月日が入っています B2はB1を参照してWeekday関数を入れて 曜日を表示しています。 ここからなのですがA3から下方向に作業者名が入力されていますが 曜日に関係なく ばらばらに「休」と文字を入れて この作業者がその日は休みであることをあらわしています。 ある人のセルに数字を2種類入力して 作業日数分塗りつぶして その作業の種類を色で塗り分けたいのですが 2005/11/24 ある作業者の欄に数字を3(三日間という意味) を入れると 24日25日26日が自動的に塗りつぶすようなことは 可能でしょうか? そして たとえば25日の欄に「休」を入っている場合には 24日は塗りつぶして 25日は「休」のままで塗りつぶさなくて 26日と27日をまた塗りつぶすという判別の方法があればと 思っています。 関数で可能なのか もしくはセルをクリックなどして ユーザーフォームを立ち上げて入力を促すマクロなどでないと 難しいのか いかがでしょう? 文章がわかりにくかったら申し訳ありませんが 補足の解説をさせていただきますので よろしくお願いいたします

専門家に質問してみよう