• ベストアンサー

エクセルのマクロについて 2

たびたびすいません  マクロについて質問があります 例えばB列に連続した数字を入力していて 1 2 3 5 6 7 9 とあって飛び飛びの数字この場合は3と5の間 7と8の間に一列挿入シたいのですができますか すいませんがお願いします

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

  • ベストアンサー
  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.2

B1から数字が記入してあるとして Sub macro1()  Dim s As Long, e As Long  Dim r As Long  Dim a() ’準備  s = Application.Min(Range("B:B"))  e = Application.Max(Range("B:B"))  ReDim a(s To e) ’収集  For r = 1 To Range("B65536").End(xlUp).Row   a(Cells(r, "B").Value) = Cells(r, "B").Value  Next r ’記入  Range("B1").Resize(e - s + 1, 1).Value = Application.Transpose(a) End Sub

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.1

こんばんは! >一列挿入シたいのですができますか・・・ は 「行挿入」だと解釈で、 質問では連番で一つ抜けているコトが前提のようですが、 余計なお世話になるかもしれませんが、仮に2個とか3個抜けている場合は その分だけ「行」を挿入するようにしてみました。 データはB列の1行目からとします。 (B1セルが1以外から始まっていても1行目はそのままにしています) Sub Sample1() Dim i As Long, cnt As Long For i = Cells(Rows.Count, "B").End(xlUp).Row To 2 Step -1 With Cells(i, "B") If .Value <> .Offset(-1) + 1 Then cnt = .Value - .Offset(-1) Rows(i & ":" & i + cnt - 2).Insert End If End With Next i End Sub ※ 本来であれば抜けている番号を入れるコードも一緒に記載すればよいのでしょうが とりあえずはこの程度で・・・m(_ _)m

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセル2010のマクロについての質問です。

    エクセルにてマクロを組もうと色々調べているのですが、 どうしてもわからないため教えていただきたいことがあります。 現在、マクロを実行すると固有の文字をアクティブセルに挿入するというマクロを作成しました。 このマクロを少し改造したいのですが、A1とB1に=のものが入っている行の特定の列のセルに固有の文字を挿入するという風にしたいです。 例えば、Aの列にはA1には1、A2には2という風に順に10間での数字が入っていて、 B1には9が入っている場合、C9のセルに固有の文字を挿入するという感じです。 B1を7に変えた場合、C7に固有の文字が挿入されるという感じにしたいです。 質問の仕方が下手でわかりにくいかも知れませんがお知恵をお貸しください。 よろしくお願いします。

  • エクセルかマクロで・・・

    エクセル関数かマクロで作りたいのですが、   A列に数字B列に個数を入力していくとします。   A列の数字をB列の個数分だけC列に表示したいのです。  例えばA1に300、B1に5、A2に500、B2に6と入力した場合、   C1からC5に300、C6からC11に500、と表示するにはどうしたらよい  でしょうか。 よろしくお願いいたします。

  • エクセルのマクロについて質問です。

    エクセルのマクロについて質問です。 マクロを発動した時に、あるセルに入力してある数値を参照し、その行のX列目に数値を張り付けるものを作成しようとしています。 例えば シート「1」の A1に日付を入力 B1にある数字を入力 シート「2」の A列にA1→1~A31→31の日付が入力されている時 マクロ発動時にシート「1」A1の日付と一致する シート「2」のB列にシート「1」のB1の値を貼り付け ↑たとえばシート「1」のA1が1日でB1が500だった場合 シート「2」の1日(A1)と同じ行でB列(B1に500を 貼り付けるものです。 かなり下手な説明だと自覚しておりますが、解読できる方 どうかご教授ねがいます。

  • エクセルで、文字列から文字を取り出す自動マクロを教えてください。

    住所の入った、エクセルのファイルを頂くのですが、C2せるから、C50程度のセルまでに 「〒123-4567兵庫県○○市○○3-4-5」と 一つのセルに入っています。 これをマクロで、C列の前に、一列挿入して、自動的に、〒番号の部分を切り取って、貼り付けるという 操作を、マクロでくみたいのです。 データは毎週貰うのですが、件数は5件~50件程度までと幅はあります。データは2行目から連続して並んでいます。「列を挿入して」「LEFT関数で取り出すという関数をC2に入力」「数式をデータが終わるところまでコピー」「元のデータから〒番号を消去」というマクロを組みたいのです。お手数ですが、初心者にでも分かるようにマクロを教えて頂けませんでしょうか?

  • エクセルでマクロの作成

    a列の1行目が『No』の項目名以下の行が空欄になっています。 b列に『あ』があれば同じ行のa列を空白にして、次のb行が空欄であれば同じ行のa列に1の数字を、b列の空白行に対しa列には連続番号が入るようにしたいのですが、マクロがどうしてもうまくできません。 どなたか、初心者向けに解りやすい解説と実際のマクロを教えていただけませんか? 初心者でうまく説明できてないかもしれませんがよろしくお願いします。

  • EXCELに詳しい方

    EXCELに詳しい方、以下2点わかりましたら宜しくお願いします (1)セルA1に「食費」「交際費」と記載すると セルB1に記載されていたものが消える(空欄にする)ようにするにはどうすればいいでしょうか? セルB1に直接数字を入力したく関数を入れてしまうと数式が上書きされて消えてしまうので 関数ではない設定で方法はありますか? 条件付き書式でできるかな、と思いましたが設定できるのは書式だけで セルに入力していたものを消すことは不可能ですよね・・? (2)A1にアルファベットと数字の文字、C1には数字があるときに B1に1から連続した数字を自動的に割り振られるようにしたいです つまり A列   B列   C列 JKL456  1  3000       2   4003       3   5456       4   5894 S56D  1    8111       2   4512       3   6812 SJN2  1      5812       2   4213 ポイント A列とC列に入力されたときB列が1になる C列に入力されているとき上の1から連続した数字をもってくる A列とC列は自分で入力するがB列は自動で数字が入るようにしたい できたらマクロを使わないで設定できたらいいですが マクロを使わないとできないようであれば そのやり方も教えてください。 宜しくお願い致します。

  • Excelのマクロを使って数字を入力したいのですが、方法がわかりません。

    ExcelのG列とI列にランダムに3桁の数字を作成しました(=ROUND(RAND()の数式を使いました)。 あいだのH列には‐(ハイフン)が入力されています。 これらを別のシートの同じ列に形式を“値”と選択してコピーしました。これらの数字をB列に入力したいのです。 具体的には、たとえば、G1セルに265,H1セルに-、I1セルに849と入力されているとしたら、B1セルに265-849と入力されるように設定したいのです。 それぞれの列にはランダムな数字が並んでおり、対応するB列のセルに同様に入力されるように設定したいのですが、方法がわかりません。マクロを使えばよいとのことですが、どなたか詳しく教えてください。 よろしくお願いします。

  • エクセルのマクロ

    A列にアルファベット、B列からE列まで数字が入力されている表があります。 A1から順に(A1→A2→A3→・・・)、A列の文字を調べてそれが"A"であった場合のみ、同じ行のB列からE列の最大値をF列に、最小値をG列にコピーする(A列の文字が"A"以外の場合は何もせず下の行を調べる)、ということを繰り返し、A列が空白になった時その作業を中止する、というマクロを作りたいのです。 もちろん、一つの表だけならA列で並べ替えをして関数を使えば簡単にできますが、表がたくさんあるので自動化したいと思います。 マクロに関してはまったくの初心者なので、お知恵をお借りできればうれしく思います。

  • エクセルのマクロの繰り返し

    よろしくお願いします。 「A1からA5までの数値を数字の大きい順に並び替えして、 そのA1からA5のデーターをC1からC5にコピーする。 次にB列に1列挿入する。」 ここまではエクセルのマクロ機能で出来ましたが それを100回くり返すコードというか、 コードの書き方、仕方がわかりません。 このばあいどのようなコードでしょうか

  • エクセル マクロで数値が変った時行挿入できますか

    最近VBAを勉強しはじめた初心者です。 簡単なマクロを使ってエクセルシートを作成中しているのですが、以下の部分がどうしても分りません。 (1)ある列(例えばA列)に数字が入っています。 (2)その数字は、セル1個つき1桁から3桁(1から100の場合)です。 (3)「1」「1」「1」と3セル並んでいたり、「2」「2」が2セルだったりと色々です。 (4)この数字が変化したとき、例えば「1」と「2」の間、「2」と「3」の間などに、  自動的に行挿入して、空白行を作りたいと思っています。 マクロでこのような事が可能でしょうか? もし、お分かりになる方がおられましたら、ご教示の程お願いいたします。 どうぞよろしくお願いいたします。

専門家に質問してみよう