0

只要状态填写为活动状态,我就需要填写承包商会费。到期金额存储在不同位置的每周文件中。我只需要在换行之前查找会费(即仅适用于在职员工)。行数是动态的,每周都会有新的承包商被添加到底部。请参考添加的图像。

我使用下面的代码让我选择一周的文件,然后通过循环公式条目直到到达空白行来为所有活动承包商填写一个 hlookup。

循环功能正确,hlookup 也有效。但是,对于每个执行的循环,代码都会打开文件对话框,我必须选择会费文件以进行与循环一样多的重复。

任何避免这种情况的建议表示赞赏。

文件示例: 在此处输入图像描述

我使用的代码:

Sub Final2()
'Getting dues file
Dim strPathAndFile As String
    With Application.FileDialog(msoFileDialogOpen)
        .Title = "Choose File"
        .AllowMultiSelect = False
        If .SelectedItems.Count = 0 Then Exit Sub
        strPathAndFile = .SelectedItems(1)
    End With

'putting hlookup in all rows

iRow = ActiveCell.Row
iCol = ActiveCell.Column

Set r = ActiveSheet.Cells(iRow, 4)

Do While r.Value <> ""

Set r = ActiveSheet.Cells(iRow, 4)

Cells(iRow, iCol).FormulaR1C1 = "=IF(RC2=""Paused"",""Paused"",HLOOKUP(RC1,'[" & strPathAndFile & "]Dues'!R1C1:R2C23,2,0))"

iRow = iRow + 1

Loop

End Sub
4

0 回答 0