Excel 希望下面的代码相当于Vlookup的格式。任何建议。自学资料

Excel 希望下面的代码相当于Vlookup的格式。任何建议。自学资料,excel,vba,Excel,Vba,下面是每当我需要excel中的vlookup类型操作时,我用来获取所有源代码格式化的代码。我也可以通过这种方式得到任何公式。如果有一种方法可以省略公式,只获取值和格式,那么它将非常有帮助 Option Explicit Sub finding() Dim wb As Workbook Set wb = ThisWorkbook Dim ws As Worksheet Set ws = ThisWorkbook.Worksheets("Sheet1")

下面是每当我需要excel中的vlookup类型操作时,我用来获取所有源代码格式化的代码。我也可以通过这种方式得到任何公式。如果有一种方法可以省略公式,只获取值和格式,那么它将非常有帮助

Option Explicit

Sub finding()

    Dim wb As Workbook
    Set wb = ThisWorkbook

    Dim ws As Worksheet
    Set ws = ThisWorkbook.Worksheets("Sheet1")

    Dim ws1 As Worksheet
    Set ws1 = ThisWorkbook.Worksheets("Sheet2")

    Dim i As Integer
    Dim FoundRange As Range
    Dim sFoundRange As String

    Dim range_to_copy As Range
    Dim range_to_paste As Range

    Dim ToFindString As String

    For i = 2 To 9

        ToFindString = ws.Cells(i, 1)

        On Error Resume Next:
        sFoundRange = ws1.Range("E1:E12").Find(ToFindString).Address

        Debug.Print sFoundRange

        Set range_to_copy = ws1.Range(Replace(sFoundRange, "E", "F"))
        Set range_to_paste = ws.Range("B" & i)

        range_to_copy.Copy
        range_to_paste.PasteSpecial xlPasteAllUsingSourceTheme

        Application.CutCopyMode = False

    Next i

End Sub

为了检查单元格是否包含公式,可以使用工作表函数
=FormulaText()
。我使用范围的
Formula
属性进行了测试,但这不起作用。(也许您可以检查第一个字符是否为
=
符号)