• ベストアンサー

Excelで列を非表示にするマクロ

マクロ初心者なのですが、 Excelで印刷前に印刷しなくてよい列を非表示にしたいので、 列を非表示にするマクロを作りたいのですが、 うまくいかないので方法を教えていただきたいです。 表のA~Nにデータが入っていて、 CとGの列を非表示にしたいのですが。 よろしくお願いします。

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

  • ベストアンサー
  • michi_001
  • ベストアンサー率32% (21/65)
回答No.7

#6の者です。 ちなみに私が手元でやってみると、以下の感じで出来ました。 Sub Macro1()   Range("C:C,G:G").Select   Range("G1").Activate   Selection.EntireColumn.Hidden = True   Range("A1").Select End Sub これでちゃんと「C列とG列」だけが非表示になり、印刷も出ますが…

rin-ran
質問者

お礼

ご回答ありがとうございます。 お手数をおかけします。 教えていただいたマクロをコピーして 実行してみたのですが、やはり表全体が非表示になってしまいました。 もう一度勉強してみようと思います。 ありがとうございました。

その他の回答 (6)

  • michi_001
  • ベストアンサー率32% (21/65)
回答No.6

マクロの記録がうまく行かないようですが、こんな感じで出来るはずですよ。 C列右クリック⇒表示しない G列右クリック⇒表示しない (C列をクリックした後Ctrl押しながらG列クリックし、それから右クリック⇒表示しないでもOK) 印刷ボタンをクリック マクロ記録の終了。 の手順になるはずですが。

rin-ran
質問者

お礼

ご回答ありがとうございます。 同じように記録しているのですが、 実行すると、表全体の列が非表示になってしまいます。

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.5

マクロの記録ぐらいとって、そのコードのどこをどのように変えるべきか、それにはどうするか、ぐらいのカタチにして質問すべきです。 >うまくいかないので ではどのようにして、どううまく行かないのかわかりません。

  • xls88
  • ベストアンサー率56% (669/1189)
回答No.4

”記録した通りにならない”という内容をもう少し具体的に教えてください。 併せて、記録で得られたマクロを提示してください。

rin-ran
質問者

お礼

ご回答ありがとうございます。 質問が悪くて申し訳ありません。 CとGの列を選び、非表示にするという操作を行って、 記録を終了したのですが、 マクロを実行すると表の全ての列が非表示になります。 マクロは以下の通りです。 Range("C:C,G:G").Select Range("G2").Activate Selection.EntireColumn.Hidden = True End Sub

  • ssykpu
  • ベストアンサー率28% (319/1125)
回答No.3

グループ化というのがあります。 http://pc.nikkeibp.co.jp/pc21/tech/excel43/15/

  • boro-pc
  • ベストアンサー率30% (64/208)
回答No.2

>マクロ初心者なのですが、 マクロを作ることを覚えましょう 1.マクロの記録をクリック(名前なんか何でも良い) 2.非表示にしたい列を非表示にする 3.記録終了をクリック あーらびっくりマクロが出来ちゃいました

rin-ran
質問者

お礼

ご回答ありがとうございます。 簡単なマクロは作れるので、自分なりに記録はしてみましたが、 マクロを実行すると、記録したとおりにならないので、 やり方がおかしいのかと思い質問してみました。 質問の仕方が悪くて申し訳ありません。

  • okormazd
  • ベストアンサー率50% (1224/2412)
回答No.1

マクロの記録をして見ましょう。

rin-ran
質問者

お礼

ご回答ありがとうございます。 簡単なマクロは作れるので、自分なりに記録はしてみましたが、 マクロを実行すると、記録したとおりにならないので、 やり方がおかしいのかと思い質問してみました。 質問の仕方が悪くて申し訳ありません。

関連するQ&A

  • エクセルのマクロ

    教えてください。   A     B   C 1 部品番号  ○   済印 2 111111   ○   済 3 222222   ○   済 4 333333   ○ という表があるとします。 B列にマクロのボタンを作っておき、 A列に部品番号を入力したら、マクロのボタンを押して、 C列に済、という字を表示したいのです。 1部品入力するごとに、その表示をさせたいです。 2行目、3行目・・・と一つずつマクロを登録して いく方法は、(マクロについては詳しくないので、マクロの記録、マクロの停止、という方法しかわかりません)入力するデータが100件以上あるため、それもどうかな・・と悩んでいます。超初心者なのですが、何とか完成したいと思っています。 よろしくお願い致します。

  • エクセル2003 列の表示、非表示 マクロ

    エクセル2003です。 マクロについては初心者以下です。 ワークシートでダブルクリックしたときC列を表示、非表示にするマクロをインターネットで検索してちょっとやって見たのですが、C列だけでなくE、J、M列も表示非表示を同時に行いたい場合は どうすればよいでしょうか? 自動記録も使って見たのですが全部の列が非表示になってしまいだめでした。 Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) With Columns("C") .Hidden = Not .Hidden End With End Sub あと、ダブルクリックをセル以外の場所で行ったときに実行するようにできたりするのでしょうか? 今の状態だとデータのあるセルを間違えて変更したり、ダブルクリック後セルを移動しないと再び実行できないので・・ 他によい方法等ありましたら教えて頂きたいです。

  • エクセルマクロについて

    お世話になります。 エクセルのマクロについて不慣れなためご質問させてください。 下のような表がありこれを集計して新しく表にしなおしたいと思っています。 1列目 2列目 A    XXXX B    XXXX C    XXXX A    XXXX A    XXXX B    XXXX 1列目の同じ文字列を数えて表を作りなおしたいのです。 1列目  2列目 A     3   ←数えた回数を入れたいと思います B     2 C     1 初めの表はマクロで作成出来たのですが2つめの表を作成する エクセルマクロを作成したいと思っています。 サンプルを頂けると助かります。

  • エクセルの列を表示・非表示させるマクロ

    エクセル2007を使っています。 Sheet1は,多数の人がデータを入力するシートです。 A列~F列までは,タイトル列ですが, 例えば井上さんはG列~K列に入力し,太田さんはL列~M列に入力し,・・・・という感じです。 それぞれの人が使用するとき,使いやすいように自分以外の列を非表示にする人が多いのです。 それは別にかまわないのですが,使用後に元に戻してくれない人が多くて困っています。 (会社には,パソコンのことをまったく知らないオバチャン達がいて,毎回「私のデータが無くなってる」と大騒ぎされるのです。) そこで,Sheet1から他のシートに移動するとき,自動的にすべての列が再表示されるようになればいいなと思い,質問しました。 さらに,この質問をしながら思いついたことですが, 例えばSheet2にコマンドボタンを多数作成して,それぞれの人の名前を割り当てたシートを用意したら便利ですよね。 つまり,先ほどの太田さんが自分のボタンを押したとすると, Sheet1に移動し,無関係な列(G~K列と,N~GU列〔最終列です〕)を非表示にするようなマクロがあれば,さらに便利だと思うのです。 分かりにくい文章で申し訳ありませんが, (1) コマンドボタンに割り当てて,Sheet1に移動し,不必要な列を非表示にするマクロ (2) シートが移動すると,すべての列を再表示しておくマクロ 以上 2点を教えていただきたいのですが, よろしくお願いします。

  • エクセルマクロの作り方(初歩)で教えてください。

    エクセルマクロについての初心者です。小学校で使うテスト結果の分析表(○、×の一覧表)作成の支援ソフトを作ろうとしていますが途中でわからなくなったので教えてください。 マクロにについては、配列変数、For Next,Do Loopのことが少し理解できる程度で、それらを組み合わせて作ろうとしましたが、使い方がよく分かりません。説明を簡単にするため、次の例で教えてください。児童数は40で、2行目から41行目までに児童の名前やデータが入ります。A列は出席番号、B列は名前、CからG列は正解した番号を記入するセル(問題は5問)、HからL列は問題1~5の○×を1と0で表示させます。そして出席番号1番の児童が3番と5番だけ正解なら、C2に3、D2に5を入れるだけで、H2~L2に0,0,1,0,1と自動的に表示されるようにしたいのです。実際には、児童数は200、問題数を50ぐらい考えています。C2~G2までのデータを配列変数に入れて、H2のセルにはIF文を組みわせて0か1を表示させて、それをL2まで繰り返し、それ全体を41行目まで繰り返して…とやろうとしたのですが、繰り返し方でうまくいきません。このような方法でなくてもかまいません。もっと簡単な方法があればそれも教えてください。よろしくお願いします。

  • 【マクロ】クリックすると空白を含む列を非表示に

    上司にExcelのデータが見づらいと言われて困っています。 下記のようなマクロやVBAを教えていただけないでしょうか? 例えば、 A2のセルをクリックすると、その行(2行目)から空白セルを検索して、そのセルを含む列を非表示にして、データが入っている列だけを表するようなマクロってないでしょうか? (要は、C2とE2が空白セルのとき、A2をクリックして、A/B/D/F~の列だけ表示されるようになるマクロです。 同様に3行目でも、空白セルがB3、C3なら、A3をクリックした時、A/D/E…列だけ表示されて、B・C列が非常時になるような。) 似たような機能があれば、A2クリックでなく別にボタン等を作っても構いません。 ややこしくて、申し訳ございませんが、本当に困っているので、 どうかよろしくお願いいたします。

  • エクセルの列がなぜか非表示になります

    エクセルのAからC列が、何故か非表示になっていて、操作ができません。 印刷のプレビュー画面では、AからC列の部分がちゃんと表示されています。 AからC列を表示させて編集できるようにするにはどうすればいいのでしょうか? 教えて下さい。よろしくお願い致します。

  • Excelでマクロを使用した削除に関して

    マクロ初心者です。 Excelにて、以下のような表データがあるとします。     A列 B列 C列 D列 E列 … 1行      51  50  52  51    2行  50  a   b   c   d 3行  51  e   f    g   h    4行  52  i    j    k   l この表の中で、A列と1行目の値が同じになる交点となるセルの値"以外"を 削除して以下のように表示させたいのですが、 その方法がわかりません。     A列 B列 C列 D列 E列 … 1行      51  50  52  51    2行  50      b       3行  51  e          h    4行  52          k    単純な行削除・列削除ではないため、 頓挫しています。お知恵を拝借したく、よろしくおねがいします。

  • Excelで1列のデータを5列に振り分けする

    Excel2003でA列に1行にあるデータ(半角英数字)を 次のシートに、1行ずつコピーして、それを5列に振り分けするというマクロを作りたいです。 (ただし、コピーは2つずつの時もあります。) 元データ ●A列 B列 C列  1  2  3  4  5  ・  ・ 加工後 ●A列 B列 C列 D列 E列   1   1   2   2   3   3   4   4   5   5   上記のような感じです。ただデータは数字のみでなくて、英数字です。 Excelのマクロは全くの初心者で大変困っています。 どうぞよろしくお願いたします。

  • エクセルで、セルに同じ数字が入っている列を表示したいんですが?

    初心者です。よろしくお願いします。 エクセルで検索したいと考えているんですが、下記のようなことは可能でしょうか? Aの列に人の名前を記入 Bの列に国語の点数を入力 Cの列に算数の点数を入力 BとCの点数が同じ人を調べることができるようにしたいのです。 カーソルが該当するAの列に飛ぶ形でもけっこうですし、理想的には 該当したデータを一覧で表示できればより良いのですが・・・ データが300以上もあるため、調べるのが大変です。 たぶんマクロなどで可能なのかとは思うのですが、よくわかりません。 どのように記述したらよいか、教えていただけませんか?

専門家に質問してみよう