• ベストアンサー

グループ単位で空白行を挿入するVB

下記の様に番号順にまとまったデータがある場合に その番号が違う番号になった時に空白行を1行挿入したいのですが 良い方法があればご教授下さい。 お願い致します。 <<例>> (実行前)  番号 DATA1 DATA2 1  1  aaaa bbbb 2  1  aaaa cccc 3  2  bbbb bbbb 4  3  cccc bbbb (実行後) 1  1  aaaa bbbb 2  1  aaaa cccc 3  2  bbbb bbbb 4  3  cccc bbbb 以上です。

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

  • ベストアンサー
  • taocat
  • ベストアンサー率61% (191/310)
回答No.2

こんにちは。 シンプルなサンプルを。(^^;;; 1行目見出し、2行目からデータだとして。 --------------------------------------------------- Sub Test()  Dim Bango  Dim R As Long  Dim LastRow As Long  LastRow = Range("A65536").End(xlUp).Row  Bango = Range("A" & LastRow).Value  For R = LastRow - 1 To 2 Step -1    If Range("A" & R).Value <> Bango Then      Rows(R + 1).Insert shift:=xlDown      Bango = Range("A" & R).Value    End If  Next R End Sub ------------------------------------------------ 以上です。  

taro_1234
質問者

お礼

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

その他の回答 (1)

  • KenKen_SP
  • ベストアンサー率62% (785/1258)
回答No.1

VBAや関数を使わない方法です。 1. [Ctrl]+[*]で表全体を選択 2. [データ]-[集計]クリック 3. [グループの基準] = 番号 にして、あとのオプションはお好みで 4. [OK]クリック すると、アウトラインが自動的に作成され、グループごとの後ろにデータの集計行が挿入されます。 5. [データ]-[グループとアウトラインの設定]-[アウトラインのクリア]クリック あとはオートフィルターで「個数を含む」などの条件で抽出されたデータ範囲を消去します。削除ではなく消去です。

関連するQ&A

  • ブロックの管理

    oracleなどのデータベースのブロック管理について ブロック内はブロック管理用領域と行データとで構成されてますが 更新後のブロック内の行データはどのように管理されているか教えてください。 1AAAA2BBBB3CCCC4・・・・・と順編成で行データが入れられていって 途中で2行目のデータをBBBBRRRRと更新する場合、2BBBBの後ろに挿入されず離れた場所の、空き領域にRRRRが書かれる状態で管理されるのでしょうか?1AAAA2BBBB3CCCC4・・・・・空き領域2RRRR それとも1AAAA2BBBBRRRR3CCCC4・・・・・ と3行目以降をずらしてBBBBの後ろに挿入するように更新されるのでしょうか?

  • 空白文字のカンマへの変換について

    早速質問なんですが、変数$mojiに"aaaa bbbb cccc"と入っているものを "aaaa,bbbb,cccc"としたいのですが下記のように $moji = mbereg_replace("[ ]*$",",",$moji); と、すると結果 "aaaa,,bbbb,,cccc"となってしまいます。 どなたかお分かりになられる方いらっしゃったら ご教授お願いいたします。 失礼します。

    • ベストアンサー
    • PHP
  • SQLで1つのレコードから複数行挿入するには

    下記のようなレコードがあります。 node_id_1 node_nm_1 node_id_2 node_nm_2 ------------------------------------- 00001   AAAA    00002   BBBB 00003   CCCC    00004   DDDD このレコードを元に下記のようなデータを別テーブルに挿入したいのですが、SQLで可能でしょうか id node_id node_nm ----------------- 1  00001  AAAA 1  00002  BBBB 2  00003  CCCC 2  00004  DDDD idはシーケンスで取得します。そして、同一レコードだったものには同じidを振ります。 DBはPostgreSQL 8.4です。

  • エクセルVBAで質問です。

    エクセルVBAで質問です。 A列   B列 AAAA  1111 BBBB  2222 CCCC  3333 とあります。 上記を AAAA (空白) (空白) 1111 (空白) BBBB (空白) (空白) 2222 (空白) CCCC (空白) (空白) 3333 (空白) A列にB列を挿入し、2・3・5行目に空白のセルを入れていきたいのです。 9000行ぐらいあります。 他の列に A列、B列のものを取得していく形でも構いません。 とにかく、縦1列に並べたいです。 どなたか、ご教授お願い致します。

  • [Excel]重複データの一方のセルが持つ値を一方の空白セルに反映させたい

    A列にある7000件ほどのデータの中から重複データのみを抽出し、 重複データの一方がB列に持つ値を、もう一方のデータのB列の空白セルに反映させたいのですが、方法はありますでしょうか? 「COUNTIF」を使って重複データの抽出はできますが、一方が持つデータをもう一方の空白に反映させることができません。 手作業では期限に間に合わない可能性がみえて焦っております。 恐縮ですがご教授いただけますでしょうか。 (例) [処理前] A列:B列:C列 1111:AAAA:aaaa 2222:BBBB:bbbb 3333:CCCC:cccc 1111:    :dddd 2222:    :eeee [処理後] A列:B列 1111:AAAA:aaaa 1111:AAAA:dddd 2222:BBBB:bbbb 2222:BBBB:eeee

  • エクセルで空白行を挿入するには

    一つの列に200ほどデータがあるとします。 そこで1行おきに空白行を挿入していきたいのですが手でいちいち空白行を挿入していてはらちがあきません。 関数等も含めて、なにか良い方法はないでしょうか。 例 セルA1   セルA2   セルA3 以下続く    ↓   セルA1   空白行(セル)   セルA2   空白行(セル)   セルA3   空白行(セル) 以下続く   といった具合です。

  • EXCEL1行おきに空白行を追加したいのですが、

    データが行方向にたくさん連続して入力されたリストがありますが、1行おきに空白行を挿入したいのです。 その都度、「右クリック→行番号選択→挿入」では、時間がかかり過ぎてしまいます。 たとえば、1000の空白行を1行おきに一気に挿入する方法はないでしょうか。ご教授くださいませ。

  • 外部ファイルを1行ずつ読み込んで特定カラムを引数として

    外部ファイルを1行ずつ読み込んで特定カラムを引数として 外部ファイルを1行ずつ読み込んで特定カラムを引数として 別び外部ファイルに対してgrepをかけたいと考えてます。 DBを作るほどのデータではないので、ファイルの行数を取得してawk/sedコマンド もしくはperlを駆使して実装できればと考えてます。スマートな方法があれば教授ねがいます。 やりたいこと)sample1.logから1/2カラム目を取得して、 sample2.logに対してsample1.logの2カラム目で紐付けて repot.logを出力したい #sample1.log 0001 AAAA 0002 BBBB 0003 AAAA 0004 CCCC  ・  ・ #sample2.log AAAA ABC BBBB DEF CCCC GHI  ・  ・  ・ #report.log 0001 AAAA ABC 0002 BBBB DEF 0003 AAAA ABC 0004 CCCC GHI  ・  ・  ・ 以上

    • ベストアンサー
    • Perl
  • PHPの変数で最初から2行分の文字列を取得したい

    phpで変数に格納されたデータの最初の2行分の文字列だけを取り出す方法を教えてください。 例)複数行のデータ(\n区切り) aaaa bbbb cccc dddd 上記のデータが変数$valueに格納されています。 $valueに格納されたaaaa~bbbbまでを取得するにはどうしたらいいのでしょうか?

    • ベストアンサー
    • PHP
  • Word 上で、「行区切り」記号を置き換えるには?

    Windows 98SE で、Word 2000 を使っています。 あるところからデータをコピーして、Word 上に貼りつけたところ、 AAAA↓ BBBB↓ CCCC↓ ------ のように、ずらっと並びました。 各行末の"↓"は、Shift+Enterキーを押した時の「行区切り」記号です。 これをコンパクトに印刷するために、この「行区切り」記号を置き換えて、たとえば AAAA◆BBBB◆CCCC◆ ----- のように編集したいと思っているのですが、どうもやり方が良く分からないでおります。 どなたかご存知でしたら、よろしくお願いいたします。

専門家に質問してみよう