• ベストアンサー

行連番の自動入力

毎回同じ形式の表を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

専門家に質問してみよう