• ベストアンサー

エクセルで複数シートに対してマクロで非表示

mar00の回答

  • mar00
  • ベストアンサー率36% (158/430)
回答No.1

A列が1の時、行を非表示にする Sub Macro1() For i = 1 To Sheets.Count For j = 1 To Sheets(i).Cells(Rows.Count, "A").End(xlUp).Row If Sheets(i).Range("A" & j) = 1 Then Sheets(i).Range("A" & j).EntireRow.Hidden = True End If Next j Next i End Sub 全シート元にもどす Sub Macro2() For i = 1 To Sheets.Count Sheets(i).Cells.EntireRow.Hidden = False Next i End Sub こんな感じです。

関連するQ&A

  • Excel マクロで 列と行を非表示にするには?

    Excel マクロ初心者です ボタンで sheetの 行1~10を非表示にして その後さらに列のBA~BJを非表示にするマクロを設定したいのですが マクロの自動記録にすると シート上一部のセルのみが残り その他は全て消えてしまいました。 行または列だけの非表示の自動記録は 正常に動きますが 単独のマクロを行と 列でそれぞれ作り、片方を動かした後 もう一方を動かすとやはり一部のみ残り 他は全て消えてしまいます。 マクロで行と、列を同時に非表示にするのは無理なんでしょうか?

  • エクセル 複数シートのデータを1シートにまとめるマクロ

    エクセルの複数シートにデータがあります。同じ条件の人のデータだけをひとつのシートにまとめたいのですが、マクロを教えていただけますでしょうか。それとも、マクロ以外に良い方法がありますか? エクセル初心者なので、あたりまえのことも知らないかもしれません。。。  【データ】 ●シート1からシート20まで、同じ配列でデータがあります。 ●1行目は見出しです。2行目から1人づつのデータです。(多くても65行までと思っています。) ●A列に到達度、B列に出欠をいれました。 ●C列からM列が氏名、課題、その他のデータです。 ●リストはシート21にあります。  【こんな作業でしょうか?】 ●シート1から20で A列が「C」または「D」ならば その行のA列からM列をコピーして シート21のA列からM列に形式を値にして張り付ける ●シート1から20で B列が「欠」ならば その行のA列からM列をコピーしてシート21のA列からM列に形式を値にして張り付ける (っというのが私の乏しい知識で考えた方法なのですが、これでは不具合がでますか? もちろん、この方法じゃなくもっといいのがあれば、それをやってみたいです。)

  • エクセル2003でマクロを使って複数の作業を簡単に終わらせたい

    昨晩こちらで別件で質問させてもらって、okweb内を調べていたところ エクセルにはマクロという機能がある事がわかりました。 当方エクセル2003を使っています。 表示させているシート上で、毎回手作業で下記のことをやっているのですが この作業をマクロ?というのを使って簡単に済ませる事はできないでしょうか? 1.画像一括削除 2.ハイパーリンク一括削除 3.セルの結合解除(結合されているセルを全て解除したい) 4.空白行削除 5.E列(縦)の削除(削除後は隣のD列以降が1列左にシフトされる状態) マクロのサンプルを置いてあるサイトを調べてみましたが 画像を一括削除するマクロだったり、空欄行削除のマクロは見つけたのですが そのマクロを連続で動かす方法がわかりませんでした。 マクロというものをほとんど理解していないのですが そもそも、マクロというのは連続した作業が無理なのでしょうか。 そうだとしたら、変な質問をしてしまい申し訳ないです。

  • Excelマクロ 複数のシートそれぞれで計算

    マクロの勉強を始めて間もない初心者です。 手持ちの解説書やネットで探してみたのですが解決できなかったので質問させてください。 計算式を手打ちで入力する手間を省くため、コードを書きました。 (不要かもしれませんが、一応記してみます。) sub 計算() dim 行番号 as integer for 行番号 = 10 to 46 cells(行番号,4).select with activecell .value=.offset(-2,0).value-.offset(-1,0) .offset(1,0).select end with next end sub マクロを実行すると、1枚目のシートでのみ、この計算がなされます。 が、私はこの計算を、複数の(もしくは全ての)シートで行いたいと考えています。 シートのフォーマットは全く同じで、入力してある数値が違うだけです。 シートが20枚以上あり、1枚ずつ選択して同じコードを書くには、コピー&ペーストを使うにしてもしんどいので、検索してみたのですが。。 調べて試してみた sheets.select や、 sheets(array("シート名1","シート名2"…).select では、セル値が異なるにもかかわらず、シート1の計算結果が以降のシートにも反映されてしまいました。 コードは共通でも各シートで独立した計算結果を導くには、どうすれば良いのでしょうか? お詳しい方、ご教示くださいますようよろしくお願い致します。

  • マクロ【全体指定】

    御世話になります。 下記のマクロコードをあるエクセルファイルの全シート指定で一括処理したいのですが、可能でしょうか? Sub test() 行番号 = 1 ActiveWindow.ScrollRow = 行番号 列番号 = 1 ActiveWindow.ScrollColumn = 列番号 End Sub かなり初歩的な質問で申し訳ありませんが、宜しくお願い致します。

  • 複数シートを通して連番を振るマクロ

    マクロ初心者です エクセルワークシートが6枚あります。 シート1枚目のA列にB列データがある行まで連番を振ります(可変)1-100 シート2枚目のA列にはB列データがある101-195 シート3枚目のA列には196-305など ...... となるようにしたいです。 1枚目の最終行を取得して連番を振ることは出来たのですが、2枚目の始まりをどのように書いたらよいのか分かりません。 宜しくお願いします。

  • Excelマクロで全シートで数値の並び替え

    Excelは2007を使っています Sheet1~Sheet3のG列5~100行に入っている数値を降順で並び替えたいのですが、 これをマクロで実現する方法がありましたらご教示をお願い致します。 F列には業者名、G列には取引数を入力しており、 これが業者名とズレる事無くソート出来るようにしたいと考えております。 出来た!と思ったのですが、業者名がズレてしまい非常に困っております。 よろしくお願いします!

  • エクセルのマクロで、複数のシートで、指定のアクティブセルに移動する方法

    エクセルの複数のシートがあるファイルで、指定の位置にアクティブセルを移動するマクロを組むにはどうしたらよいでしょか。 複数のシートがあります。 アクティブセルが各シートばらばらの位置だと見栄えが悪いです。 そこで B列の一番下から「END+↑」でとんだ位置で止まる。 複数のシート(20以上)を同じ作業 最後に一番左端のシートでをアクティブシートにして終了 ※A列は空白行のため、必ず埋まっているB列を基準にしたい マクロを教えたください。

  • エクセル:複数シートの一括処理

    お世話になります。 エクセルで1つのブックに複数のシートがあります。 書式は同じですが行数がそれぞれ違います。 A列で、データが入力されている一番下のセルの次の行から、エクセルの最終行である65536行までの行を全て選択して「削除」をしたいのです。(行の削除)しかも全シート一括で。 A列でデータが入っている一番下のセルがA550だった場合、551行~65536行までを全て選択→削除を行う。 これらの作業をするためのマクロを教えてください。

  • エクセル 複数シート検索のマクロ

    マクロ初心者です。 エクセルの文字列検索で、複数シートにまたがった場合のマクロ記述を知りたいです。 シートaとシートbの選択は下記となると思いますが、 Sub Macro1() Sheets(Array("a", "b")).Select Sheets("a").Activate End Sub その後で、検索窓([ctrl]+[f])を表示させたいのですが・・・。 よろしくご教示願います。