如何在筛选后的数据中为D列重复填充1-4的数字序列?
在筛选后的Excel单元格中循环填充1-4序列
方法1:公式法(无需宏)
- 从D2开始填充的话,直接在D2单元格输入公式:
=MOD(SUBTOTAL(3,$D$1:D1),4)+1 - 原理:
SUBTOTAL(3,$D$1:D1)只统计当前单元格上方的可见非空单元格数量,筛选后的隐藏单元格会被自动排除- 用
MOD取模4得到0-3的结果,加1后就变成1-4循环
- 操作:输入完公式,选中D2,双击单元格右下角的填充柄,就能自动给所有可见单元格填充序列
方法2:VBA宏法(适合批量处理)
- 按
Alt+F11打开VBA编辑器,右键插入一个新模块,粘贴下面的代码:
Sub FillCycleFiltered() Dim rng As Range Dim cell As Range Dim counter As Integer counter = 1 ' 选中D列从D2开始的所有可见单元格 Set rng = Range("D2:D" & Cells(Rows.Count, "D").End(xlUp).Row).SpecialCells(xlCellTypeVisible) For Each cell In rng cell.Value = counter counter = counter + 1 If counter > 4 Then counter = 1 Next cell End Sub
- 操作:回到Excel界面,按
Alt+F8调出宏窗口,选择FillCycleFiltered运行即可,宏会自动遍历所有可见单元格填充1-4循环序列
内容的提问来源于stack exchange,提问作者Rifhan
相关产品推荐
相关产品推荐

