• ベストアンサー

エクセルにてデーターセルに任意の空白行を素早く挿入するには?

 例として下記のような生産進行表があり、    A     B    C     D     F    G 1 車種   台数 パーツ1 パーツ2 パーツ3 パーツ4 2 ムーヴ  100   ○    ○    ○    ○ 3 タント  150    ○    ○    ○    ○ 4 ミ ラ   50    ○    ○    ○    ○ 5 ライフ  200    ○    ○    ○    ○ ↓ アルト  150   ○    ○    ○    ○ のような形で構成されており、車種に対応したパーツ1~4はVLOOKUP関数で取得できるのですが、各車種(ムーヴ~アルト)データーセルの行間に備考記入用の空白行を(4~6行)追加する必要が出てきました。上記表を下記のような形に早く行うにはどうすればよいでしょうか?  車種データーは200~300位あります。1行づっ行挿入は時間が掛かり、また、事前に空白行を設けて、別紙にVLOOUP関数の検索値として=シート1!$A$2(ムーヴ)=シート!$A$3(タント)のような参照を取るのも時間が掛かります。どうすれば、下記の様な形に一括して早く簡単に出来る方法があれば、教えていただけないでしょうか?VBAなのでしょうか?関数なのでしょうか? 1 車種   台数   パーツ1 パーツ2 パーツ3 パーツ4   空白行4挿入 2 ムーヴ  100   ○    ○    ○    ○   空白行4挿入 3 タント  150   ○    ○    ○    ○   空白行4挿入 4 ミ ラ   50   ○    ○    ○    ○   空白行4挿入  5 ライフ  200   ○    ○    ○    ○   空白行4挿入 ↓ アルト  150   ○    ○    ○    ○

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

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

REDOという手もあるでしょうが、マクロが簡単と思います。 マクロはALT+F11でVBE画面を開き、「VBAProjectエクスプローラのシート名右クリック」→「挿入」→「標準モジュール」で表示される画面にペーストして下さい。実行はシート画面に戻って、ALT+F8を押してマクロ一覧からマクロ名を選択します。 Sub Macro5() Dim idx As Long  For idx = ActiveSheet.Range("a65536").End(xlUp).Row - 1 To 1 Step -1   ActiveSheet.Cells(idx, 1).Offset(1, 0).Resize(4, 1).EntireRow.Insert shift:=xlDown  Next idx End Sub 実行前にブックは必ず保存してくださいね。

superfighter823
質問者

お礼

 回答有難うございます。マクロはあまりよく知らないのですが、コード構文をペーストして出来るか試してみます。早速の回答すみませんでした。

superfighter823
質問者

補足

昨日は回答有難うございました。ご指導いただいた標準モジュールをファイルに保存し、実行しましたら、思い通りの結果が一瞬に出て、正確に再現しました。  補足の欄を利用し、再度、お礼申し上げます。回答者様のおかげで、仕事がスムーズにできるようになりました。  本当に有難うございました。

その他の回答 (2)

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.3

#1です。判りにくかったかな?    A     B    C     D     F    G  H 1 車種   台数 パーツ1 パーツ2 パーツ3 パーツ4  1 2 ムーヴ  100   ○    ○    ○    ○   2 3 タント  150    ○    ○    ○    ○   3 4 ミ ラ   50    ○    ○    ○    ○   4 5 ライフ  200    ○    ○    ○    ○   5 ↓ アルト  150   ○    ○    ○    ○   6 としてG列の2から6をコピーして、G7以降に4回貼り付けてから 「データ」「並び替え」でG列を昇順に並び替えると 1 車種   台数 パーツ1 パーツ2 パーツ3 パーツ4  1 2 ムーヴ  100   ○    ○    ○    ○   2 3                                2 4                                2 5                                2 6                                2 7 タント  150    ○    ○    ○    ○   3 8                                3 9                                3 のようになります。

  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.1

空いてる列に、1行目の項目に1と入力して Ctrlを押しながらフィルコピーで連番を作成する。 2から最後の行までをコピーして4回貼り付けてその列で並べ替えする。 最後に今の列を削除で完成 これ以外だとマクロですね。 最後の行から4行ずつ増やすようにLOOPを作成すれば出来ます。

superfighter823
質問者

お礼

回答有難うございます。よく分からないですが、回答を参考にこれからトライしてみます。有難うございました。

関連するQ&A

専門家に質問してみよう