• ベストアンサー

行連番の自動入力

毎回同じ形式の表をcvsから取り込み、自動または1回の作業(マクロで自動化させたいのです)でA列の一番下のデータの場所まで連番を振らせたいのですが(※毎回行数が変わるので、連続データで停止値を固定させることもできません。)どのような方法がありますか? ※オートフィルでドラッグするやり方は除く。

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

  • ベストアンサー
  • kissX4
  • ベストアンサー率34% (140/411)
回答No.1

オートフィルを使いますが、最初の2行だけは「1」「2」と入力してください。 その2つのセルを選択し、2つ目のセルでカーソルをフィルハンドルにし、Wクリックすれば以下はデータがある範囲まで番号が振られます。(データの途中に空白があると、そこまでとなりますが) ドラッグするよりは簡単です。

yama0587
質問者

お礼

回答ありがとございます。 kissX4さんとKURUMITOさんの複合技(?)みたいな感じで、私がやりたかったことに一番近い形でマクロを作ることができました。 どうもありがとうございました。

その他の回答 (3)

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

こんにちは! VBAになってしまいますが一例です。 >A列の一番下のデータの場所まで連番を とありますので、、 B列の1行目~B列の最終行までの連番をA列に表示するようにしています。 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に ↓のコードをコピー&ペーストしてマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) Sub 連番() 'この行から Dim i As Long i = Cells(Rows.Count, 2).End(xlUp).Row With Range(Cells(1, 1), Cells(i, 1)) .Formula = "=row()" .Value = .Value End With End Sub 'この行まで ※ 上記コードはA1セルから1・2・・・としていますが、仮に2行目からの連番にしたい場合は With Range(Cells(1, 1), Cells(i, 1)) .Formula = "=row()" .Value = .Value End With の部分を With Range(Cells(2, 1), Cells(i, 1)) .Formula = "=row()-1" .Value = .Value End With といった具合に調整してみてください。m(_ _)m

yama0587
質問者

お礼

こんばんわ、詳しく説明していただきありがとうございます。 時間が無いため、まだ試してはおりませんが今度試してみたいと思います。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.3

例えばA2セルから下方にデータが有るとしてB2セルから下方に連番を付けるとしたら、次の式をB2セルに入力して下方にドラッグコピーします。一度その操作を行っておくことでA列のデータがどのように変化しても最後の行まで連番が振られることになります。 =IF(A2="","",MAX(B$1:B1)+1) A列に空白のセルが有っても構いません。

yama0587
質問者

お礼

回答ありがとうございます。 ドラッグコピーというのがイマイチわからなかったのですが、B2セルに「if」式を入力するマクロを作り、B2セルを選択→右下角にカーソルを合わせダブルクリックすることで、不確定行数のどの表に対しても、連番を振ることが出来ました。

回答No.2

>毎回同じ形式の表をcvsから取り込み、自動または1回の作業(マクロで自動化させたいのです モノはついで、、、

関連するQ&A

  • エクセルで複数ずつの連番を入力する方法

    こんにちは。 エクセル初心者です。 過去ログや他のサイトも調べたのですが、表現方法が悪いのかヒットしません。 今、エクセルに日本語を入力して表を作っています。 A列に数字を入れて番号を振っているのですが、 表の性質上、1234・・・という連番ではなく、 111222333444・・・という同じ数字が3つずつ続く連番です。 それが800番まで続きます。 私が調べた限りではオートフィルや連続データではそういう番号の振り方はできないみたいで困っています。 今、50番台なのですが、手動で入れるのが苦痛になってきました。 初心者でも出来る方法で、これを自動的に大量入力する方法があれば、 ぜひ実行したいのです。どなたかご存知ではないでしょうか? よろしくおねがいします。

  • Excelで2行ずつ連番を振るにはどうすればよいでしょうか?

    教えていただけないでしょうか? Excelを使って、オートフィルのように自動で2行ずつ連番を振るには、どうすればよいでしょうか? 例   1   1   2   2   3   3   続く

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

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

  • 結合されたセルに連番を振るには?

    Microsoft Excelでの質問です。 表を作成しました。 結合セルが複数ある1列に(セル数はまちまち・複数の列には非結合)、 昇順で連番を入力しようと、 いつものようにオートフィルでズリズリっとドラッグしようとしたところ、 「この操作には、同じサイズの結合セルが必要です」 と出てしまいました。 オートフィルを使用せず、このようなセルに連番を入力するにはどうしたらよいでしょうか? 色々と調べてみましたが自力では解決できませんでした。適当な関数があるような気もするのですが…。 ぜひご教示ください。よろしくお願いいたします。

  • 連番の途中を削除したらその穴を自動的に詰める方法

    オートインクリメントで1、2、3と連番をふっていき、途中の2番のデータを削除したら、自動的に3番が2番になる方法はないのでしょうか? よろしくお願いします。

    • ベストアンサー
    • MySQL
  • 条件に合う行だけを切り取り→別ブックに自動転記

    【環境】 Windows7 Office2013 【目的】 Excelで作ったcsvデータを、条件に合うものだけ抜き出して別ブックに自動で転記したい (1つの表を2つに分けたい) 【詳細】 ※オートフィルを使うという前提で説明しますが、目的の結果が得られるのであれば   オートフィル以外の方法でも構いません。 csvのデータがあります。 その中からオートフィルを使って「M列」で条件を選択(複数)し、その結果を 抜き出して(切り取って)別のブック(別シートではダメ)に自動転記したいです。 最終的に、元々の表Aから条件に合ったものだけを表Bとして保存。 表Aから表Bのデータを抜いたものは、そのまま表Aとして上書き保存。 ・・・したいです(添付画像参照) ネットで調べたところ、表の中に検索条件を入れる欄を作って・・・という方法 ならあったのですが、データ(csv)はそのままシステムに取り込むので 余計な欄を増やしたり等はできません。 そこで行き詰ってしまいました。 【表の詳細】 A~S列まであります。 項目名などの行は無く、1行目からデータが入っています。 ※行数は、都度変化します。 M列の中から「90」「95」の物だけを抜き出して、表Bとしたい。 【やってみたこと】 オートフィルでの操作を「マクロの記録」で記録しようとしたのですが、 オートフィルの結果だけを「切り取る」ことが出来ず、ダメでした。 どなたかお知恵をお貸しください。

  • エクセル 行を追加したら自動マクロでコピー

    A列に行を追加したら自動マクロで(1)と(2)を行いたいのですが、 どのようなマクロを作成すれば良いのでしょうか? (1)C1列~E1列を選択 (2)C1列~E1列をオートフィルで下までコピー

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

    ボタンを押すと以下のことを実行するマクロを作成することはできますか? 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列の値を見て挿入する行数を判断するようなマクロができるのかわかりません。 どなたか教えて頂けないでしょうか。

  • EXCEL マクロ・VBA 自動で連番を振る

    EXCELのマクロ・VBAについて質問です。 例えば、B列にデータを入力すると、入力した行まで自動的にA列に連番が入力されるようにしたいのですが、どういった方法があるでしょうか。 マクロやVBAについてはこれから勉強をしようと思っている素人ですので、コードとその解説をいただけると助かります。

  • Excel2010 数式のオートフィルに関して

    現在Excel2010を使っています。 関数を入力し、それを2000行までフィルしたい場合、やはり2000行ドラッグするしか方法はないのでしょうか? 隣接するセルにデータがある場合はダブルクリックでオートフィルできますが、他には何もデータがない場合、2000行までドラッグするのは面倒だと思い、何か方法がないかと探しています。 数値であれば、ホームタブ「フィル」→「連続データの作成」で停止値の設定ができますが、 文字列や数式の場合は設定できないようで…。 そして、その「連続データの作成」の設定の中に、「オートフィル」とあるのに停止値の設定はできず、 そのままOKをしても何の変更も起こりません。 この機能はどんなに使うのでしょうか? もしご存知の方がいらっしゃいましたら教えてください。 よろしくお願いします。

専門家に質問してみよう