Excel VBA需求:指定区域单元格值为特定值时填充对应G列单元格
Excel VBA:匹配指定区域值后填充对应单元格
以下是两种实现需求的VBA代码方案,按需选择:
方案1:逐单元格循环(逻辑直观,适合新手)
逐个检查A14到A200的单元格,符合条件则填充对应行的G列:
Sub FillOkForValue1() Dim ws As Worksheet Dim cell As Range ' 指定操作的工作表,替换为你实际的表名(比如Sheet1) Set ws = ThisWorkbook.Worksheets("Sheet1") ' 遍历目标区域的每个单元格 For Each cell In ws.Range("A14:A200") If cell.Value = 1 Then ' 填充对应行的G列 ws.Cells(cell.Row, "G").Value = "Ok" End If Next cell End Sub
方案2:数组批量处理(效率更高,适合大数据量)
通过数组一次性读取数据再处理,能大幅提升运行速度:
Sub FillOkWithArray() Dim ws As Worksheet Dim arrData As Variant Dim i As Long Set ws = ThisWorkbook.Worksheets("Sheet1") ' 将A14:A200的数据读取到数组 arrData = ws.Range("A14:A200").Value ' 遍历数组 For i = LBound(arrData) To UBound(arrData) If arrData(i, 1) = 1 Then ' 数组索引对应原区域起始行14,所以行号为13+i ws.Cells(13 + i, "G").Value = "Ok" End If Next i End Sub
使用提示
- 替换代码中的
"Sheet1"为你实际操作的工作表名称 - 按
Alt+F11打开VBA编辑器,插入模块后粘贴代码即可运行 - 若需要先清空之前的"Ok"内容,可在代码开头添加
ws.Range("G14:G200").ClearContents
内容的提问来源于stack exchange,提问作者Mohammed Athamneh
相关产品推荐
相关产品推荐

