• ベストアンサー

エクセルマクロの行非表示及び挿入

エクセルマクロの方法について質問です。 今6~70行の中に表(入力項目は3行一体)を作っていてそのEセル(3行の結合セル)に”済”と入力すると3行で一体の行を非表示にし、非表示にしたことで入力行が減ってしまうので、非表示にした後に最後から2つ目の3行一体の行にコピーして行を挿入する構文を教えてください。 なお、最後の行挿入だけはマクロの自動記憶でも出来そうでしたが、その前段階の非表示がどうしてもうまくいきません。

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

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

>その前段階の非表示がどうしてもうまくいきません。 どのようにされていますか? マクロの記録で得られたコードでも結構ですから、現状のコードを提示して相談された方が良いと思います。 非表示にする例をあげておきます。 If ActiveCell.Value = "済" Then ActiveCell.MergeArea.EntireRow.Hidden = True End If

iwgpkingmakoto
質問者

お礼

ありがとうございます。 参考になりました

関連するQ&A

  • マクロで行挿入がうまくいかない理由は?

    XPでOFFICE2007です。マクロ未熟者です。 マクロで、行挿入だけであればうまくいきますが、行挿入した後でその行に文字を入力するマクロでは、その行ではなく1行前のセルに文字が入力されてしまいます。 変なことになるのは、マクロを作成する過程で、行挿入が上の書式をコピーすることと関連がありそうなのですが、何に注意すればうまくいくのでしょう。 とりあえず今のところは行挿入を使わずに上の行をコピーして挿入する方法でうまくいっています。しかし行挿入後の文字入力がうまくいかないのか、その理由と対処方法がわかれば教えてください

  • エクセルのマクロを使って行を好きなところに挿入したい!

    文だけできちんと説明できるかどうか不安ですが、下記の文でおわかりになった方、ぜひアドバイスをいただきたいので宜しくお願いします。エクセルの表で、ページごとに挿入したいヘッダー(よく表にある見出しです)があって、これはエクセルの機能にあるヘッダーとフッターが使えないようなので(...と思うのですが...)、そのヘッダーをそのままマクロ登録してボタン1つで好きなところに挿入できるようにしようと思ったのですが、コピペした状態を登録するとコピー元は問題無いようなのですが、コピー先のセルが決まってしまって好きなところに挿入することができません。(例えばA1のセルをコピーしてA2にペーストしたものをマクロ登録すると、コピー先が全部A2になるので好きな所に挿入することができません。)モジュールでプログラムを変えればできるのかもと思い、MVBについてネットで調べてみましたがなかなか回答を見つけることができず、ここで聞いてみることにしました。やりたいことは、表の見出しを、エクセルのヘッダーとフッター機能を使って全ページに表示されるように、全ページに表示させたくて、これはできないみたいなのでマクロを使ってみようと思いました。もしマクロなんか使わなくてもできるやり方があればそちらも教えていただきたいので、わかる方、ぜひご回答宜しくお願いします。

  • エクセル2行ごとに空白を挿入し2行の項目を挿入する

    エクセルに以下のような一覧表が何百件あるとします。    氏名  社会保険料 雇用保険料 源泉徴収税 控除額計・・・・←項目はセル結合で2行です  田中      6,742     357      1,214   8,313・・・・・←関数合計が入ってます  小林      5,821     321      1.101   7,243・・・・・  佐藤      5,943     228      1,581   7,752・・・・・   ・        ・       ・        ・     ・  それぞれの人に明細を切り取って渡す場合、田中さん以外は項目がないので、小林さん以下の人にも項目が分かるようにしたいのですが簡単に項目を挿入出来る方法がありましたら教えてください。  2行ごとに空白を挿入(タイトル(項目)が2行なので)する方法は分かったのですが、  その空白すべてにタイトル(項目)2行を一気にはりつけたいです。     ジャンプ機能で空白を一気に選択し、2行の空白を結合、項目をコピー貼り付ける方法ではできました。  ただマクロを使ったり、関数を使ったり、誰が使用しても簡単にできる方法がありましたら助かります 。        

  • エクセル マクロでの行挿入は・・・・

    マクロを勉強中です。 特定の列の値(下の表では5列の『サブコード』です)が、 4~6 の時に、1行挿入し上の行のコピーを貼りつけ、 7~9 の時は、2行挿入して上の行をコピー貼りつけ・・・ という作業が、マクロでできますでしょうか? ご回答を、お待ちしております。 どうか、よろしくお願い致します (u_u)

  • Excelの行挿入で

    Excelのシートにデータがつまっているのですが(これから新しく表を作るということではないということです。)、行の挿入をしたいのです。 このとき、行を選択して、右クリックで「挿入」を選べば挿入自体はできます。 しかし、 既にある表は、行が、A列とB列が結合されているのですが、 単に上記のように挿入すると、 A列B列が分かれている行が挿入されてしまいます。 新しく挿入された行のA列とB列を選択して、「セルの書式設定」の「配置」でセルを結合させてもいいのですが、 いちいちそうしなくても 挿入時点ですでに結合されているようにするにはどうすればよいですか。 (Excel2000)

  • 行・列の挿入でセル結合が解除される

    エクセルについての質問です。 結合セルを含む表で行や列の挿入をすると、結合していない列や行が挿入されます。 表が足りなくなった場合、行・列のコピー&貼り付けで付け足しているのですが、 表の真ん中あたりで挿入が必要な場合や、頻繁に挿入が必要になったときにとても手間がかかっているように感じてしまいます。 シート上では難しい気はしていますが、表と同じ結合をした行や列を挿入する方法はあるのでしょうか? マクロは初級程度のものしか書けませんが、どうせやるなら効率的にやりたいと思っています。 非常に初歩的な質問ですがよろしくお願いいたします。 エクセルは2003です。

  • Excelでの行の挿入について

    マクロについて教えて下さい。 例えばA1のセルに5と入力した場合に 3行目と4行目の間に5行挿入したいのですが・・・ マクロでなくても出来る方法があればそちらも教えて頂ければ幸いです。

  • エクセルのマクロの記憶・実行について

    マクロの記憶と実行についてですが質問があります。 下記のように、1~3までの行をマクロの実行でコピーといういうか表示していきたいのです。 3行をコピーして、行の挿入をすれば済む話なのですが、これを使う人が、パソコンを触ったことがないので、 マクロの実行というボタン1つで、何回も下に同じ間隔で表示させたいのです。 お助け下さい。 ●月●日 1 あああ あああ あああ あああ 2 いいい いいい いいい いいい 3 ううう ううう ううう ううう 4 5 これより下に、上記と同じ表をコピーしたい。          ↓ 1行あけて同じ表を、マクロの実行でその下に表示させたいのです。 表の内容は、毎日変わります。その日の入力が終わったら、次の日、また、同じ事を繰り返していきます。

  • Excelで「切り取ったセルの挿入」をすると行の高さが崩れる

    お世話になります。 5行くらいが1セットの入力スペースになっているような表が あるとして(一行目がヘッダ、二行目以降に予定を何個か書く、 という感じ)、表題のとおり、たとえば45~50行目をまるまる 切り取って、切り取ったセルの挿入を使って20行目の次あたりに 張り付けると、表内のセルのところどころで行の高さが崩れて しまいます(広くなったり、狭くなったり)。 おそらくはセルの結合やら何やらが関係しているのでしょうが、 行の高さを崩すことなく切り取りと挿入をするにはどうしたら よいのでしょうか。 ちなみに、Excelのバージョンは2003で、改ページプレビューによって 編集しています。 よろしくお願いします。

  • 【マクロ】任意の行の下へ行の挿入&選択

    セルA3:DS750の表があります。 1行=1顧客として使用していますが、度々表に行を挿入して顧客を追加しています。 その為、以下のマクロを作ってみたのですが、最後に【挿入した行をActiveにする】事ができません。 ★挿入位置は、都度変わります。 ★一度に行う挿入行数は1行(多くても3行)の為、マクロは1行追加で作成しています。(行数の指定までは力量により出来ませんでした・・) ★1行目にサンプルを(非表示で)置いて、それを任意の行へ挿入させています。 1行目のサンプルを非表示のまま貼り付けると、挿入した行も非表示になってしまったので、一度再表示させてから処理させています。 サンプル行には、条件書式、数式などがところどころ入っています。 処理の最後に【'行を指定して挿入】と同じ行をActiveにする方法が知りたいです。 記録マクロをいじっただけなので見づらいと思いますが、よろしくお願い致します。 -------------------------------- Sub 挿入() '1行目を再表示 Rows("1:1").Select Selection.EntireRow.Hidden = False '1行目をcopy Rows("1:1").Select Selection.Copy '行を指定して挿入 InsertRow = InputBox("何行目の下に挿入しますか?") + 1 Cells(InsertRow, 1).Insert Shift:=xlDown '1行目を非表示 Rows("1:1").Select Selection.EntireRow.Hidden = True '挿入した行をactiveにする ・・・ end Sub -------------------------------- マクロが根本的におかしかったらすみません。。 アプローチ方法が他にある場合にもご指摘いただけると助かります。

専門家に質問してみよう