Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1536 / 13644 ツリー ←次へ | 前へ→

【73745】オートナンバー nonoka 13/2/8(金) 9:43 質問[未読]
【73746】Re:オートナンバー ウッシ 13/2/8(金) 11:27 回答[未読]
【73748】Re:オートナンバー nonoka 13/2/8(金) 11:46 回答[未読]
【73749】Re:オートナンバー ウッシ 13/2/8(金) 12:01 回答[未読]
【73751】Re:オートナンバー nonoka 13/2/8(金) 13:39 回答[未読]
【73756】Re:オートナンバー ウッシ 13/2/8(金) 21:22 回答[未読]
【73769】Re:オートナンバー nonoka 13/2/11(月) 18:39 お礼[未読]

【73745】オートナンバー
質問  nonoka  - 13/2/8(金) 9:43 -

引用なし
パスワード
   いつもお世話になっております。

積み上げ式の表があります。
C10から下に日付が入力されたら
となりのセルにナンバーを通し番号文字列で付けたいです。

関数で入れていましたが、この表は途中で行を削除したりするため、
関数では削除した行から下がエラーになってしまいます。

通し番号は一つ上の番号に+1という形で良いです。
データの最後の行を削除することは99%ないと思っていますが、
これは不可能でしょうか?↓

例えば、



4←データ最終行を削除した場合




5←あらたにデータが追加されたら4ではなく5となる

不可能でしたら、通し番号は一つ上の番号に+1という形でお願い致します。
宜しくお願い申し上げます。

【73746】Re:オートナンバー
回答  ウッシ  - 13/2/8(金) 11:27 -

引用なし
パスワード
   こんにちは

=ROW()-9

とかにするのはダメですか?

【73748】Re:オートナンバー
回答  nonoka  - 13/2/8(金) 11:46 -

引用なし
パスワード
   ▼ウッシ さん:
>
>=ROW()-9
>
>とかにするのはダメですか?

これだと、切り取れば上に数字が繰り上がります。
説明不足でしたが、行ごとの背番号だと考えてください。
行を切り取ったら別のブックに移動させますので、
他の行の背番号はそのまま維持したいです。
移動した先では文字列で入っていますので問題ありませんでした。

【73749】Re:オートナンバー
回答  ウッシ  - 13/2/8(金) 12:01 -

引用なし
パスワード
   こんにちは

背番号ですか。
事前に後ろの方の列に連番を付けておいて、そこを参照する数式をセットするかですね。

C列に日付を追加した場合はイベントマクロでその数式をセットすればいいですけど、
予め後ろの方の列に連番(背番号)を付けておくのはダメですか?

【73751】Re:オートナンバー
回答  nonoka  - 13/2/8(金) 13:39 -

引用なし
パスワード
   ▼ウッシ さん:
出来れば、現状の状態、C列に入力されたら、自動的にB列に背番号でお願いしたいです。

【73756】Re:オートナンバー
回答  ウッシ  - 13/2/8(金) 21:22 -

引用なし
パスワード
   こんばんは

シートタブを右クリックして「コードの表示」で表示されたシートモジュールに、

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim a  As Range
  Dim r  As Range
  Dim rr As Range
  Set a = Range("C10:C" & Rows.Count)
  Set r = Intersect(Target, a)
  If r Is Nothing Then Exit Sub
  If Target.Columns.Count = Columns.Count Then Exit Sub
  Application.EnableEvents = False
  For Each rr In r
    If IsDate(rr) = True Then
      rr.Offset(, -1).Value = _
        Application.Max(a.Offset(, -1)) + 1
    End If
  Next
  Application.EnableEvents = True
End Sub

で。

取り敢えず、行削除だけには対応出来ていると思いますけど、複数セルの削除とかが有り得るとするとその対応とか
色々考慮しないとダメだと思います。

【73769】Re:オートナンバー
お礼  nonoka  - 13/2/11(月) 18:39 -

引用なし
パスワード
   ▼ウッシ さん:
こんばんわ!
返信遅くなって申し訳ありません。
複数削除もできました。ありがとうございました。
すごい助かりました!これからも宜しくお願い致します。

1536 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free