Excel 中指定范围内的连续数字

Excel 中指定范围内的连续数字

我从上周开始就一直在寻找宏,但至今没有找到。如果您能帮我解决我面临的问题,我将不胜感激,我已经创建了 excel 模板(用于编码列表)。

我正在寻找的是:

在 B 列中,我们需要根据两个单元格中指定的值在活动单元格中放置序列号(连续数),例如(A1 = 起始序列号:5)和(A2 = 结束序列号:25)我需要的是 B 列中,无论单元格处于活动状态,起始和结束范围由我(用户)提供,我单击宏按钮,它将生成从活动单元格向下提供的起始和结束范围的序列号。

希望你明白我的意思。

答案1

如果我理解了你想要什么,这个宏应该对你有用。它会检查以确保:

  • 用户已选择 B 列中的单元格作为新系列
  • 用户输入的系列的结束值大于起始值
  • 在插入新系列之前,B 列中的现有值已被清除。

如果任何条件不满足,宏将警告用户并且退出,而不将新系列添加到工作表中。

Sub NewSeries2()
    Dim seriesRng As Range
    Dim stepSize As Double
    Dim stopValue As Double

    If Intersect(Selection, Range("B:B")) Is Nothing Then
        MsgBox "Please select a cell in column B to start the series."
        Exit Sub
    ElseIf Range("A2").Value <= Range("A1").Value Then
        MsgBox "Ending value of the series cell A2 must be greater then the starting value in cell A1."
        Exit Sub
    ElseIf WorksheetFunction.CountA(Range("B:B")) <> 0 Then
        MsgBox "Please delete the existing values in column B."
        Exit Sub
    Else
        stepSize = 1
        stopValue = Range("A2").Value
        Selection.Value = Range("A1").Value
        Selection.DataSeries Rowcol:=xlColumns, Type:=xlLinear, Date:=xlDay, _
            Step:=stepSize, Stop:=stopValue, Trend:=False
    End If
End Sub

相关内容