从变量中定位列位置并传递给.range“”代码

时间:2018-11-20 03:52:03

标签: excel vba excel-vba

我正在使用下面的部分代码在水平列表中找到借款人的名字。找到名称后,我需要传递该列并能够在range("").value中引用该列。因此,例如,它在G列中找到名称。然后,我可以使用range.value代码以及一些如何将其与不同的行配对以进行复制或其他操作。

Sub Copy_From_Borrower_DBase()
    Dim myVal As String
    Dim sourceRng As Range
    myVal = Sheets("Main").Range("F2").Value ' dropdown list
    Set sourceRng = Worksheets("Borrower Database").Range("5:5").Find( _
            What:=myVal, LookAt:=xlWhole) 'locate column where to copy from
    Sheets("Main").Range("F5").Value = Worksheets("Borrower Database"). _
            Range("??????????").Value 'Borrower Name
End Sub

1 个答案:

答案 0 :(得分:0)

要从sourceRng中获取该列,只需使用.Column属性。我个人将使用Cells()而不是Range(),因为您要处理列号。

因此,在您的用例中:

Worksheets("Main").Range("F5").Value = Worksheets("Borrower Database"). _
        Cells(Row, sourceRng.Column).Value 'Borrower Name

Row替换为相应行号的位置。