アプリ版:「スタンプのみでお礼する」機能のリリースについて

DVD録画したものを「DVD映画・ドラマ一覧」と自分の持っている「書籍一覧(種類別分類)」をエクセルで管理しています。Aセルに番号、Bセルに題名 カタカナ半角(ソートするのに楽なので)、Cセルに題名、Dセルに年、Eセルに国名・・・としています。そのために、作品が増えたり減ったりするたびに、番号が崩れてしまいます。番号を崩さずに、入力及び削除したいのですが。。。いい方法はありますか??

A 回答 (3件)

連番が A 列とするなら、A1 セルに次の数式を入力して最終データまで


フィルでコピー。

  =ROW()

見出し行などがあって、

 ・2行目からデータが始まる =ROW()-1
 ・3行目からデータが始まる =ROW()-2

といった感じで。
    • good
    • 0
この回答へのお礼

早速の回答有り難うございました。お礼が遅くなってしまって、申し訳ありませんでした。

見出し行などがあって、
 ・2行目からデータが始まる =ROW()-1

でやったところ、うまく出来ました。有り難うございました。

お礼日時:2007/11/28 19:18

A1=ROW()


下にフィル。こうすればA列の番号は連番になる。
行を削除しても連番、挿入したら空きになるが式をフィルすれば連番。
    • good
    • 0
この回答へのお礼

回答、有り難うございました。
ANo.1の方と同じでうまく出来ました。有り難うございました。

お礼日時:2007/11/28 19:20

<A>


1__1
2__2
3__3
4__4
5__6
6__7
7__8

例えば、5行目が削除されると、このように連番が崩れると思います。
この場合、Renumber というマクロを走らせると効率よく修正できます。
次のマクロは開始行以外は、非連番のみを修正します。
もちろん、初期値、開始行は実情に合わせて設定する必要があります。

Option Explicit

Const 初期値 = 1
Const 開始行 = 1

Public Sub ReNumber(ByVal S As Integer, ByVal E As Integer)
  Dim I As Integer
  Dim N As Integer
  
  If S = 開始行 Then
    Me.Cells(1, 1) = 初期値
    S = S + 1
  End If
  For I = S To E
    N = Me.Cells(I - 1, 1) + 1
    If Me.Cells(I, 1) <> N Then
      Me.Cells(I, 1) = N
    End If
  Next I
End Sub

Private Sub CommandButton1_Click()
  ReNumber 1, 7
End Sub

問題は、自動的にマクロを起動すること。
その際に、修正開始位置と修正終了位置の引数の与え方が課題。

Private Sub Worksheet_Change(ByVal Target As Range)
End Sub

自動的にマクロを起動は、Worksheet_Changeイベントを利用すれば良いと思います。
修正開始位置と修正終了位置の引数の与え方は、割愛します。
    • good
    • 0
この回答へのお礼

早速の回答、有り難うございました。遅くなってしまって済みません。私にはちょっと難しくて、理解が出来ませんでした。折角回答いただいたのに、申し訳ありませんでした。

お礼日時:2007/11/28 18:56

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!