前提・実現したいこと
D列に入力されたらA列に「シート名+連番」が入るようにする
発生している問題・エラーメッセージ
マクロを有効にしてなかったため作業者がのちほどD列をコピーペーストすると連番ではなくなってしまいます
重複する場合が出てきてしまい困っております。
D列をコピーペーストした場合でも連番にする方法はありますでしょうか
ご教授宜しくお願いいたします。
該当のソースコード
一部抜粋でしてます
必要でしたら全文載せます
Option Explicit Private Sub Worksheet_Change(ByVal Target As Range) Dim MyRNG As Range Dim k As Long Dim sn As String Application.EnableEvents = False k = Cells(Rows.Count, "A").End(xlUp).Offset(1, 0).Row sn = ActiveSheet.Name If Not Intersect(Target, Range("D5", Cells(Rows.Count, "D"))) Is Nothing Then For Each MyRNG In Intersect(Target, Range("D5", Cells(Rows.Count, "D"))) If MyRNG.Value = "" Then Cells(MyRNG.Row, "A").Resize(, 3).Value = "" Else If MyRNG.Offset(, -3).Value = "" Then MyRNG.Offset(, -3).Value = sn & k - 10 End If Next MyRNG End If
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
A列は蓄積される?
貼り付けはD5列のみ?
A列からE列まで貼り付けたら
k = Cells(Rows.Count, "A").End(xlUp).Offset(1, 0).Row
貼り付けた最終行なの?
回答2件
あなたの回答
tips
プレビュー