Excel VBA需求:仅生成奇数序号标签并自动打印
修改VBA代码实现奇数序号标签打印
原代码循环中直接使用I作为单元格填充值,因此生成的是连续自然数序列。要实现生成第I个奇数(1、3、5…)的需求,只需将填充值改为2 * I - 1即可——奇数序列的规律为第n个奇数等于2n-1(n从1开始计数)。
修改后的完整代码如下:
Sub EnterNumberLabels() Dim xCount As Variant Dim xScreen As Boolean Dim I As Long On Error Resume Next LInput: xCount = Application.InputBox("Enter the Number of Labels Needed:", "Kutools for Excel") If TypeName(xCount) = "Boolean" Then Exit Sub If (xCount = "") Or (Not IsNumeric(xCount)) Or (xCount < 1) Then MsgBox "Enter a Number of 1 or Greater", vbInformation, "Kutools for Excel" GoTo LInput Else xScreen = Application.ScreenUpdating Application.ScreenUpdating = False For I = 1 To xCount ' 生成第I个奇数并填充单元格 ActiveSheet.Range("F17:G17").Value = 2 * I - 1 ActiveSheet.PrintOut Next ActiveSheet.Range("F17:G17").ClearContents Application.ScreenUpdating = xScreen End If End Sub
关键修改说明
- 核心修改行:将
ActiveSheet.Range("F17:G17").Value = "" & I替换为ActiveSheet.Range("F17:G17").Value = 2 * I - 1,通过数学公式直接生成对应位置的奇数。 - 如果需要将奇数以文本格式填充单元格,可改为
ActiveSheet.Range("F17:G17").Value = "" & (2 * I - 1),效果一致。
内容的提问来源于stack exchange,提问作者Kevin Otto
相关产品推荐
相关产品推荐

