基于VBA实现按UserForm指定数量批量填充主机名
批量生成连续编号主机名的VBA实现
我创建了一个UserForm,需求是按UserForm中指定的主机名数量,自动生成连续编号的系列主机名(例如输入12则生成12个,格式如「前缀-FAH34-01」「前缀-FAH34-02」等)。
其中TextBox1对应销售订单号,TextBox2对应主机名前缀,TextBox3对应所需主机名数量。最初的代码仅能在活动单元格输出销售订单号,在下方单元格输出单个主机名,无法实现批量连续生成,代码如下:
Private Sub CommandButton1_Click() Dim H As String Dim X As Long H = -FAH32 - 1 X = TextBox3.Value Worksheets("Sheet1").Activate ActiveCell.Value = TextBox1.Value Worksheets("Sheet1").Activate ActiveCell.Offset(1, 0).Activate ActiveCell.Value = TextBox2.Value ActiveCell.Value = ActiveCell.Value & "-FAH34-01" Range("R3").Value = X End Sub
调整后的可行代码实现了需求,能批量生成指定数量的连续编号主机名,效果类似拖动单元格填充柄:
Sub CommandButton1_Click() Dim H As String Dim X As Long, i As Long H = "-FAH34" X = Me.TextBox3.Value ActiveCell.Value = "SO #" & TextBox1 For i = 1 To X Application.ActiveCell(i + 2) = TextBox2.Value & "-FAH34-" & Format(i, "00") Next i Unload Me End Sub
这段代码通过For循环遍历TextBox3指定的数量,用Format(i, "00")将编号统一格式为两位数字,同时定位到活动单元格下方的对应行逐个写入生成的主机名,最后自动卸载UserForm完成操作。
内容的提问来源于stack exchange,提问作者fatmstr97
相关产品推荐
相关产品推荐

