如何用Input函数自动化含ActiveCell与Offset的VBA代码,输入数字自动填充指定行数?
改造后的VBA宏:指定行数交替填充DAY/OFF
以下是改造后的宏代码,通过输入框指定填充行数,自动在当前单元格开始的区域交替设置"DAY"和"OFF":
Sub DAY() Dim totalRows As Integer Dim i As Integer ' 弹出输入框获取需要填充的行数 totalRows = InputBox("请输入需要填充的行数:", "设置填充行数", 10) ' 检查输入是否为有效数字 If totalRows <= 0 Then MsgBox "请输入大于0的整数!", vbExclamation, "输入错误" Exit Sub End If ' 循环填充指定行数 For i = 0 To totalRows - 1 ' 根据索引奇偶性设置内容:偶数索引填DAY,奇数填OFF If i Mod 2 = 0 Then ActiveCell.Offset(i, 0).Value = "DAY" Else ActiveCell.Offset(i, 0).Value = "OFF" End If Next i End Sub
关键说明:
- 用
InputBox获取用户输入的行数,默认值设为10(可根据需求修改) - 加入输入验证,避免无效的非正整数输入
- 通过
i Mod 2判断当前行的奇偶性,实现"DAY"和"OFF"的交替填充逻辑 - 从
ActiveCell(当前选中单元格)开始,向下偏移i行完成内容填充
内容的提问来源于stack exchange,提问作者mahesh
相关产品推荐
相关产品推荐

