• ベストアンサー

エクセル2003で可能でしょうか?

エクセル2003で、行を削除しても自動で連番をふりなおせる関数ROWは解るんですが、行ごと削除するときはROWは有効ですが、たとえばこんなときはどうすればよいでしょうか? A列に連番がふってある表があったとして、A1~A5セルに1~5の連番をふったときに、A3セルの連番を消し、”削除”という文字列を入力した場合、A1セル=1、A2セル=2、A3セル=”削除”、A4セル=3、A5セル=4 というように、”削除”と文字列を記入したセルを飛ばし連番が自動的にふれるという関数orマクロはないでしょうか?今は、いちいち手打ちで修正しているのですが・・。ROWとIFを使ってできないか?と考えましたがどうしても解りません。みなさんのお知恵をかしてください!!   

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

  • ベストアンサー
noname#121987
noname#121987
回答No.2

これで良いものか少し疑問がありますが、 (1)セルA1に =IF(ROW()=1,1,MAX($A$1:OFFSET(A1,-1,0))+1) と入力して、A2以下にコピーしてください。 これで連番が振られます。 (2)たとえばセルA3に「削除」と入力して、数式を上書きしてください。A4以下の連番は、3から振りなおしになります。

niwatorihi
質問者

お礼

早速実務で使わせていただきました!!まさに求めていたものでした。ありがとうございました!!!!

その他の回答 (2)

  • suz83238
  • ベストアンサー率30% (197/656)
回答No.3

行いたいシートのシートモジュールに下記を入れてみてください。 Private Sub Worksheet_Change(ByVal Target As Range) ' Application.EnableEvents = False c = ActiveSheet.Cells.SpecialCells(xlLastCell).Column t = 1  For i = 1 To c If Cells(1, i).Value <> "削除" Then Cells(1, i).Value = t t = t + 1 End If Next i Application.EnableEvents = True End Sub

niwatorihi
質問者

お礼

ちょっと高度で今はつかいこなせませんでしたが、解読してがんばります!!ありがとうございました!!!

  • dodemoii
  • ベストアンサー率59% (769/1282)
回答No.1

こんにちは 関数では無いですけどセルをドラッグした時にマウスカーソル をセルの右下に合わせると小さい■の記号が出るので、 そのままマウス左ボタンを押しながらセルをなどって行くと 連番がふれますよ。(参照フィルオプション,オートフィル) 同じ数値が入ってしまう時には例えば 1と2と表示されているセルを選択してから上記を実行すると 連番になると思います。 では。

niwatorihi
質問者

お礼

参考になりました。ありがとうございました。