• ベストアンサー

マクロ セルの数値で自動起動

シートが2枚あります 1枚Aは1年12ヶ月分の12枚の表 1枚Bは、同じ表で白紙 Bのあるセルに数字(月)を入れると、自動にその月だけ表示したいです マクロでお願いします

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

  • ベストアンサー
  • nattocurry
  • ベストアンサー率31% (587/1853)
回答No.4

0でなく、空白が良いので、ご説明に従い・・ =INDEX(入館料統計表!$1:$480,ROW()-1+($A$1-1)*40,COLUMN())="","",INDEX(入館料統計表!$1:$480,ROW()-1+($A$1-1)*40,COLUMN()) を、入力すると、エラーで起動しません。 従ってませんよね。 IFはどこに行ったんですか?

bogeymoriko
質問者

お礼

ありがとうございました ほぼできました!!☆☆☆☆☆☆ はじめ罫線が消えたんですが、次は元の表に罫線を入れておくと 実行しても消えませんでした!! 2ヶ月の苦労が取れそうです

bogeymoriko
質問者

補足

本当です・・・ 間違った情報に、集中力不足すいません 後、一つ・・また質問ですが、 Aの表が4月始まりなんですが、何か良い方法まりませんかm(__)m

その他の回答 (3)

  • nattocurry
  • ベストアンサー率31% (587/1853)
回答No.3

ひとつき40セル? ひとつき40行ですよね? であれば、 縦のセル 1月は1~39 2月は40~79 3月は80~119 4月は120~・・・ ではなく、 縦のセル 1月は1~40 2月は41~80 3月は81~120 4月は121~・・・ ですよね? 正しい情報をお願いします。 やはりマクロは不要なようです。 Sheet1に1年12か月分の12枚の表があり、 Sheet2に指定の月だけ表示するとします。 数字(月)を入力するセルはA1で、表示する行を、2~41とすると、 A2に =INDEX(Sheet1!$1:$480,ROW()-1+($A$1-1)*40,COLUMN()) (Sheet1の部分は、実際のシート名にしてください) と入力し、それをA41までコピペしてください。 そのあと、A2:A41を好きなだけ右側にコピペしてください。 このやり方だと、Sheet1のセルが空白でも0と表示されてしまいます。 コピー元が空白ならコピー先も空白にしたい場合は、上記の式を、 =IF(INDEX(~~~)="","",INDEX(~~~)) というように加工してください。 Sheet2のA1が1~12以外だとエラー表示になるので、それがイヤなら、 =IF(OR($A$1<1,$A$1>12,INDEX(~~~)=""),"",INDEX(~~~)) というように加工してください。

bogeymoriko
質問者

補足

ありがとうございました そして、間違った情報ですいません =INDEX(Sheet1!$1:$480,ROW()-1+($A$1-1)*40,COLUMN()) を入力すると、数字が入りました ありがとうございます 0でなく、空白が良いので、ご説明に従い・・ =INDEX(入館料統計表!$1:$480,ROW()-1+($A$1-1)*40,COLUMN())="","",INDEX(入館料統計表!$1:$480,ROW()-1+($A$1-1)*40,COLUMN()) を、入力すると、エラーで起動しません。 また、罫線がすべて消えて、表がなくなりました(@@) 何から何まで頼ってすいません よろしくお願いします

  • nattocurry
  • ベストアンサー率31% (587/1853)
回答No.2

> この表がメインで1~12月分あります その配置がどうなっているのか解らないと何とも回答できません。

bogeymoriko
質問者

補足

たびたび ありがとうございます 縦に 12枚続いていて 縦のセル 1月は1~39 2月は40~79 3月は80~119 4月は120~・・・ ひとつき、40セルを使い縦に並んでます

  • nattocurry
  • ベストアンサー率31% (587/1853)
回答No.1

レイアウトが判らないことには、答えようがありませんよ。 レイアウト次第では、マクロを使わなくても、できたりしますし。

bogeymoriko
質問者

お礼

レイアウト(基本の表) 1月分 10 20 30 40 50代  団体 1 2 3 4 5 ・ ・ 31 この表がメインで1~12月分あります

関連するQ&A