Excel VBA質問箱 IV

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

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


8546 / 76732 ←次へ | 前へ→

【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

で。

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

360 hits

【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 お礼

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