0

当您单击新按钮时,需要帮助创建一个 excel 宏

所以在 sheet2 列 c 行 2 中将是 CI300 并且它会在下面添加 CI301 并在 sheet1 列 d 行 3 中返回该数字

在过去的两天里,我一直在尝试寻找类似的例子,发现了一些但只有一个接近但它有错误并且不一样

谢谢

4

1 回答 1

0

这应该工作...

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 放置在光标所在的位置。

于 2013-02-01T20:00:43.900 回答