Excel 如果单元格为空,则按第三个单元格循环中的值填充另一个单元格

Excel 如果单元格为空,则按第三个单元格循环中的值填充另一个单元格,excel,vba,loops,Excel,Vba,Loops,情况: 在单元格“D18:D94”和“E18:94”中,我有下拉列表(数据验证)。在单元格中的另一张表中,我有一个公式 需要输出: 如果单元格“E18”不为空,则将“Sheet2!U18”中的值插入单元格“F18”。我想为范围中的每一行循环这个 我做了这样的东西,但我不知道如何循环 If Sheets("Sheet1").Range("E18").Value <> "" Then Sheets("Shee

情况:

在单元格“D18:D94”和“E18:94”中,我有下拉列表(数据验证)。在单元格中的另一张表中,我有一个公式

需要输出:

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

我做了这样的东西,但我不知道如何循环

If Sheets("Sheet1").Range("E18").Value <> "" Then 
    Sheets("Sheet1").Range("F18").Value = Sheets("Sheet2").Range("R18")
End if
如果图纸(“图纸1”).范围(“E18”).值为“”,则
板材(“板材1”).范围(“F18”).值=板材(“板材2”).范围(“R18”)
如果结束
我不想在
Sheet1中设置公式!“F”
列,因为我有一个动态打印区域。

请尝试下面的子部分-

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
Sub-FillData()
变光sRng As范围、Rng As范围
设置sRng=板材(“板材1”)。范围(“E18:E94”)
对于sRng中的每个Rng
如果Rng.Value为“”,则
基准偏移量(0,1)。值=图纸(“图纸2”)。范围(“R”和基准行)
如果结束
下一个Rng
设置sRng=无
端接头

我们使用U还是R?您好,在for循环语法方面,您可能会发现这很有用:。例如,可以循环范围对象中的每个单元格以检查其值。若要使范围成为动态范围,可以通过执行类似于表2中“R”的操作来查找最后一行。对不起,我的错误。@ PT如果你发现这个工作,那么请考虑接受答案,以便其他访问者能够理解你的问题得到解决。勾选标记以接受。