ここから本文です

エクセルのVBAで連番(シリアル)振りたい。 A列に連番を振りたいのですが、デ...

fox********さん

2018/6/1312:59:58

エクセルのVBAで連番(シリアル)振りたい。

A列に連番を振りたいのですが、データの最終行がB列とは限りません。

B列が10行なのに対してC列が15行だった場合、A列の10行までしかカウントしてくれません。

A2(タイトル行を除く)からシート全体の最終行まで連番をふる方法はないでしょうか。

閲覧数:
90
回答数:
3

違反報告

ベストアンサーに選ばれた回答

kik********さん

2018/6/1313:18:13

以下でどうなりますか

標準モジュールに以下を記述し Samp1 を実行してみます
処理対象はアクティブシート


Option Explicit

Public Sub Samp1()
   Dim r As Range

   With ActiveSheet
      Set r = .Cells.Find("*", , xlValues, xlWhole _
         , SearchOrder:=xlByRows, SearchDirection:=xlPrevious)
      If (Not r Is Nothing) Then
         If (r.Row > 1) Then
            With .Range("A2").Resize(r.Row - 1)
               .Formula = "=ROW()-1"
               .Value = .Value
            End With
         End If
      End If
   End With
End Sub

  • 質問者

    fox********さん

    2018/6/1316:24:18

    ご回答ありがとうございます。

    ご教示いただいた式を試してみたところ、
    希望通りの結果にすることができました。

    ただ、今の私の知識では仕組みを理解できず、
    理解して使えるようになるまでは時間がかかりそうです。

    あらためて奥の深さを感じました。
    重ねてお礼申し上げます。

  • その他の返信(1件)を表示

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

この質問は投票によってベストアンサーに選ばれました!

ベストアンサー以外の回答

1〜2件/2件中

並び替え:回答日時の
新しい順
|古い順

プロフィール画像

カテゴリマスター

aka********さん

2018/6/1313:12:48

Selection.SpecialCells(xlCellTypeLastCell).Select
R=Selection.Row

FOR I=1 TO R
RANGE("A" & I)=I
NEXT
では いかがですか

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

iru********さん

2018/6/1313:09:25

CurrentRegion または UsedRange を使って最終行をどうぞ。

返信を取り消しますが
よろしいですか?

  • 取り消す
  • キャンセル

あわせて知りたい

この質問につけられたタグ

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問は選択されたID/ニックネームのMy知恵袋で確認できます。

不適切な投稿でないことを報告しました。

閉じる