これはうまくいくはずです...
Sub Btn_NextNum_Click()
Dim KeyStart As Range, LastNum, NewNum
Set KeyStart = Sheets("Sheet2").[C2] ' bad bad hard coding, but you asked for it
If KeyStart(2, 1) = "" Then
LastNum = KeyStart
Else
LastNum = KeyStart(KeyStart.End(xlDown).Row - 1, 1)
End If
NewNum = "CI" & Val(Mid(LastNum, 3)) + 1
If KeyStart(2, 1) = "" Then
KeyStart(2, 1) = NewNum
Else
KeyStart(KeyStart.End(xlDown).Row, 1) = NewNum
End If
Sheets("Sheet1").[D3] = NewNum ' bad bad hard coding, but you asked for it
End Sub
セルアドレスのハードコーディングが嫌いであることに注意してください...キー列の開始と出力セルに範囲名を使用するかSelection
、ボタンがカーソルがある場所にNextNumを配置できるように出力を送信する方がよいでしょう。