如何创建宏实现选中多个单元格时自动填入指定文本
VBA宏实现批量填充固定组合值
你可以根据使用习惯选择以下任意一种实现方案:
方案1:选中3个目标单元格后填充
适合需要灵活选择填充位置的场景,选中连续3个单元格后运行宏即可自动按顺序填入预设值:
Sub AutoInsertCombination() ' 可按需修改下方数组内的填充内容,顺序对应选中的第1、2、3个单元格 Dim fillValues As Variant fillValues = Array("New", "Ohio", "Yes") If Selection.Count <> 3 Then MsgBox "请选中3个目标单元格后再运行", vbExclamation Exit Sub End If Dim i As Integer i = 0 For Each cell In Selection cell.Value = fillValues(i) i = i + 1 Next cell End Sub
方案2:仅选中行首单元格后自动填充本行对应3列
适合固定列填写的场景,只需选中每行第一个要填充的单元格,运行宏即可自动向后填充连续3列:
Sub AutoInsertByRow() ' 可按需修改下方数组内的填充内容,顺序对应行首、行首右1列、行首右2列 Dim fillValues As Variant fillValues = Array("New", "Ohio", "Yes") If Selection.Count <> 1 Then MsgBox "请仅选中目标行的首个填充单元格后再运行", vbExclamation Exit Sub End If Dim i As Integer For i = 0 To 2 ' 如果3个填写列不连续,可自行修改Offset的第二个参数调整列偏移量 Selection.Offset(0, i).Value = fillValues(i) Next i End Sub
使用步骤
- 按
Alt+F11打开VBA编辑器,右键点击当前工作簿,选择「插入」-「模块」,将对应代码粘贴到模块中保存即可 - 如需设置快捷键,按
Alt+F8调出宏窗口,选中对应的宏名后点击「选项」,即可设置自定义快捷键,操作时按下快捷键即可快速填充
内容的提问来源于stack exchange,提问作者ak120908
相关产品推荐
相关产品推荐

