• ベストアンサー

連番の途中で行を挿入するマクロ

A列に1から連番がふってあって、途中でまた1から連番、途中でまた1から連番というふうに並んでいます。この1と1の前の数字の間に行を1行挿入させるようにしたいのですが、マクロでできますでしょうか?

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

  • ベストアンサー
  • HohoPapa
  • ベストアンサー率65% (454/690)
回答No.1

こんなカンジでいかがでしょうか。 Sub hoge()  Dim LineNum As Integer    With ThisWorkbook.Sheets(1)   LineNum = 1   Do    If .Cells(LineNum, 1).Value = 1 Then     .Rows(LineNum).Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove     LineNum = LineNum + 1    End If    LineNum = LineNum + 1    If LineNum > 20 Then Exit Sub  '処理する最終行を指定   Loop  End With End Sub

honeybeans
質問者

お礼

失礼しました。If LineNum > 20 Then Exit Sub  '処理する最終行を指定 のところをマックスの行数に修正して解決しました。どうもありがとうございました。

honeybeans
質問者

補足

早々にありがとうございます。試したのですが、1つ目の連番グループのみ行を挿入できましたが、その下の連番グループには行が挿入されませんでした。どこか手直しが必要ではないでしょうか?

関連するQ&A

  • エクセルのマクロ(行を挿入し連番を振る)

    ボタンを押すと以下のことを実行するマクロを作成することはできますか? A列2行目から 書類a 書類b 書類c 書類d 書類e C列2行目から 5 3 2 4 3 と入っています。C列は各書類の枚数です。 ボタンを押すと書類aと書類bの間に4行空白行が挿入され、A列とC列は増やした4行にそれぞれ書類a、5がコピーされ、B列には2列目から6列目まで1.2.3.4.5と連番が振られる。 というマクロです。 B列C列で1/5 2/5 3/5 4/5 5/5 であるという表現がしたいのです。(/は入りません) 書類が1枚の場合はB列C列共に空白で1/1とは入りません。 C列に入る書類の枚数により行が挿入されその書類の枚数分の連番が振られるようなマクロが作りたいです。 毎日何百行も手作業で挿入しコピーし連番を振る作業をしています。 決まった行数を増やすとか上の行をコピーするマクロならわかるのですが、C列の値を見て挿入する行数を判断するようなマクロができるのかわかりません。 どなたか教えて頂けないでしょうか。

  • A列の下2桁だけが連番でなかったら1行だけを挿入するマクロは?

    基本は、A列の下2桁 ( 各連番が複数ずつあります ) だけが連番になっているんですが、 "たまに"  抜けている ( ない ) 時がありますので、 マクロ実行後に、連番が抜けている ( ない ) 場合に、そこに 「 1行だけ を挿入 」 して、 かつ その行のFS列 ( 175列目 ) まで  ハイフン 「 - 」  を入力したいんです。 そして、必ずデータエリア数を   12  or  24  or   36   にしたいんです ( マクロ実行前は 36 を超えることはありません )。   連番が抜けている ( ない ) 場合、多くても 4・5つのデータエリア です。 3通り のマクロが必要のように思いますが、下記例の 1通り をどうかご教授下さいませ。 ---------------------------- **01 が 約10~19行 ( 変動します ) まであります ( これを エリア数1 と表現させて頂きます )。 そして、他の 「 **02 ~ **12 」 も同様です。これで 合計エリア数12 となります。 「 **01 ~ **12 」 は、必ず昇順になっています。 下記例は、 エリア数を 実行後 24 にしたい場合の例です ( この場合、実行前は 24 を越えることはありません )。 「 最初の **01 ~ **12 」 のうち 「 **02 」 と 「 **12 」 が抜けている ( ない ) 場合です。  実行前 ( エリア数22 です。「 **02 」 と 「 **12 」 が抜けている ( ない ) ) A列 **01 ・ **01 **03 ・ **03 ・ **11 ・ **11 **01 ・ **01 **02 ・ **12 **12 ↓↓↓ 実行後 ( 挿入した2行を エリア数2 としまして、 合計エリア数24 となります ) A列   B列   ・   ・   FS列  **01 ・ **01 -      -    ・   ・   - **03 ・ **03 ・ **11 ・ **11 -      -    ・   ・   - **01 ・ **01 **02 ・ **12 **12

  • エクセル 行挿入のマクロについて

    こんばんは、エクセルのマクロについてお伺いします。 現在 A1:支店名 B1:連番 C1:在庫数 全部で1000行位入力があります。 ・A列には支店名 ・B列には連番は1・2・3~と1000件位 ・c列には在個数にはそれぞれ1桁から2桁の数字 【質問】 在庫数の数だけその連番の行を増やしたい。 例えば、 A2:東京支店 B2連番:1 C2在庫数:3 だとすると2行目のあとに2行挿入し在庫数が3なので下記のように3行にしたい。 A2 東京支店 B2連番 1 C2 在庫数 1 A3 東京支店 B3連番 1 C3 在庫数 空欄 A4 東京支店 B4連番 1 C4 在庫数 空欄 何せ数が多いのでマクロをお教え頂ければ助かります。 ※その際、支店名と連番は同じ物がはいるとありがたいです。 ※在庫数は空欄で構いません。 マクロでなくても方法があればお教え下さい。 よろしくお願い致します。

  • 指定した行数を挿入する マクロ

    添付をごらんください。 H列に関数をいれたのですが、その数字はその下にその数値だけ行を挿入する、ということを示しました。その行数を挿入することによって、連番になるように調整、番号の最後を18になるように調整、したいわけです。 H列>0の数字があれば下にその行数だけ挿入する、というマクロを教えてください。

  • 「新しいマクロの記録」機能を使っての行挿入

    「新しいマクロの記録」機能を使って1行と2行の間に10行の空白行を挿入後、A13のセルを選択というマクロを作りました(マクロ1とします)。このマクロを実行すると1行と2行の間に10行の空白行が挿入された後、A13が選択されます。ここでもう一度、マクロ1を実行すると1行と12行の間にさらに空白行が10行挿入されA13が選択されます。このようになるのは当たり前と言えば当たり前なのですが、2回目にマクロを実行したときに12行と13行の間に10行の空白行が挿入された後、A24が選択されるようにするには、どのようにマクロを記録すればよいのでしょうか?  ようは、10行の空白行を挿入した後、セルを11行下に移動させるというマクロを作りたいのです。VBAの記述方法はほとんど分からないので「新しいマクロの記録」機能を使うことを前提にご教授ください。

  • 年月-連番を付与するマクロを教えて下さい。

    連番を付与するマクロを教えて下さい。 初心者です。 B列に値が入ったタイミングでA列に今日の年月-01の連番を付けたいと思います。 年は西暦の下2桁月2桁-数字2桁 1401-01 できれば月が変わったら連番も01スタートなら最高です。 1401-01 1401-02 1402-01 こんな感じです。 B列には下に値が無ければ順番に下の行に値が入るマクロが入っています。 初心者ゆえ説明もわかりにくいかと思いますが、よろしくお願いします。

  • 行を挿入するマクロ

    エクセルマクロ(VBA)で    A 1  B 2  C 2  D 1 上記の場合、数字の数だけ行を挿入したいのですが、うまく出来ません。 Aの下に1行。Bの下に2行。Cの下に2行。Dの下に1行という感じです。 教えていただければありがたいです。よろしくお願いいたします。

  • エクセルで連番をマクロで

    こんにちは いつもお世話になっています。 Windows7、エクセル2010で教えてください。  B3から仮にB100まで文字列があるとします、空白セルはありません。 この状態でA3からA100まで1から始まる連番をマクロで実行したいのです。 実際はB列のデータの最終行は不定です。つまり、B列にデータがなくなるまで(空白セルになるまで)A列に連番をつけたいのです。現在はA3,A4に1,2と入力し、オートフィルで該当セルを選択し「予測」で連番をつけています。 マクロ記録ではB列にデータがなくなる判断ができなくて作れません。 この作業が頻繁にあるものですからマクロができれば助かります。 よろしくお願いいたします。

  • 【Excel】行の途中から連番をふる方法

      エクセルの連番入力についてお伺いしたいです。 行の途中から、中途半端な数字からスタートして10行ごとに連番をふりたいのですが、なかなかうまくいかず…。   ■E300に「138」という連番が入っており、 それを10行ごとに1増加(E311に139、E321に140…)させていくというような方法、関数などはありますでしょうか?   以前こちらに投稿された「複数行おきに連番をふる」といったような質問の内容も見させていただいたのですが、 A1セルから、開始値が「1」といったパターンなどとはまた違うようで、関数を当てはめてもうまく表示できませんでした…。   すみませんが、何かいい方法をご存知でしたらご指導お願いします。  

  • 行挿入マクロをご教示ください

    A列の5行目から1000行ほどK列までデータが入っています。 A列からK列をB列優先でソートを行うと、B列にところどころ同じ番号が2行あったり、3行あったり、また4行とバラバラで、出てきます。 この場合、同じ番号が2行以上あるセルの上に空白の行1行を挿入し、同じ番号行分を合計して整理したいと考えています。 2行以上ある行の上に空白行を1行挿入するようなマクロをご教示ください。 どなたか、よろしくお願いします。

専門家に質問してみよう