实用VBA:1.向下填充空白单元格

本文介绍如何使用VBA在Excel中处理工资条数据,通过检查第一列是否为空,将非空行数据复制到下方,从而实现将无重复表转换为有重复表的过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

工作中有时候需要将无重复的表转换为有重复的表。有很多方法,此处我们探讨使用VBA向下填充空白单元格的方法。

1.需求范例

公司要发工资条,个人存一份,公司留一份。将下表每行数据复制为2行。

2.基本思路

根据第一列单元格是否有数据进行判断:如果为空,则需要将前一行数据复制下来;如果不为空,则跳过。

3.VBA实现

Public Sub 向下填充空白单元格()
    Dim wb As Workbook              '工作簿变量
    Dim ws As Worksheet             '工作表变量
    Dim i As Integer                '循环变量
    Set wb = Workbooks(1)           '设置要操作的工作簿为当前激活的工作簿
    Set ws = Worksheets("Sheet1")   '设置要操作的工作表
    ws.Activate                     '激活工作表
    For i = 2 To 217                '表格含标题行,从第2行开始,到结束行
        If Cells(i, 1).value = "" Then  '已当前行第一列为依据判断,如果为空,则将上一行数据复制到当前行
            Cells(i, 1).value = Cells(i - 1, 1).value
            Cells(i, 2).value = Cells(i - 1, 2).value
            Cells(i, 3).value = Cells(i - 1, 3).value
        Else                        '首列单元格不为空,则当前行有数据,不做任何操作
            'DoNothing
        End If
    Next i
    Set ws = Nothing                '释放工作表变量
    Set wb = Nothing                '释放工作簿变量
End Sub

4.运行效果

5.其他实现方法

选中要填充的区域和其上一行,CTRL+G -> 定位条件 -> 空值 ->确定 -> 在默认的第一个单元格输入"="->按向上箭头-> CTRL+ENTER -> Done.

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值