首页 > 解决方案 > 如果为空单元格,则按第三个单元格中的值填充另一个单元格 - 循环

问题描述

情况:

在单元格中"D18:D94""E18:94"我有下拉列表(数据验证)。在单元格的附加工作表"Sheet2""R18:94",我有一个公式。

想要的输出:

如果单元格"E18"不为空,则将值插入"Sheet2!U18"到单元格"F18"中。我想为范围内的每一行循环这个。

我做了这样的事情,但我不知道如何循环。

If Sheets("Sheet1").Range("E18").Value <> "" Then 
    Sheets("Sheet1").Range("F18").Value = Sheets("Sheet2").Range("R18")
End if

我不想在Sheet1! "F"列中设置公式,因为我有一个动态打印区域。

标签: excelvbaloops

解决方案


试试下面的子

Sub FillData()
Dim sRng As Range, Rng As Range
Set sRng = Sheets("Sheet1").Range("E18:E94")

    For Each Rng In sRng
        If Rng.Value <> "" Then
            Rng.Offset(0, 1).Value = Sheets("Sheet2").Range("R" & Rng.Row)
        End If
    Next Rng
    
Set sRng = Nothing
End Sub

推荐阅读