基于A列非空条件用VBA代码将C列对应值替换为0
VBA代码实现:A列非空时将对应C列设为0
以下是满足需求的VBA代码,可直接在Excel的VBA编辑器中运行:
Sub SetCToZeroIfANotEmpty() Dim ws As Worksheet Dim lastRow As Long Dim i As Long ' 指定要操作的工作表,默认用当前激活表,可改为具体表名如Sheet1 Set ws = ActiveSheet ' 获取A列最后一个有数据的行号,避免遍历空白行 lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row ' 逐行检查A列单元格 For i = 1 To lastRow If ws.Cells(i, "A").Value <> "" Then ws.Cells(i, "C").Value = 0 End If Next i End Sub
代码说明:
- 若要固定操作某张工作表,把
ActiveSheet替换成目标表名即可,比如Set ws = ThisWorkbook.Sheets("销售数据") lastRow的作用是精准定位A列数据范围,提升代码运行效率- 循环逻辑简单直接:检查A列单元格是否非空,是则将对应C列值设为0
内容的提问来源于stack exchange,提问作者Rusty_Wilkin
相关产品推荐
相关产品推荐

