gpt4 book ai didi

excel - 在 VBA vlookup 中引用不同的工作表和定义的变量

转载 作者:行者123 更新时间:2023-12-04 20:23:33 25 4
gpt4 key购买 nike

这是我目前拥有的 vba 代码(修改后的录制宏)的一部分:

Dim strSheet1 As String, strSheet2 As String, lngRow as Long

Sheets(strSheet1).Select

lngRow = Cells(Rows.Count, "A").End(xlUp).Row

Range("J2").Select

ActiveCell.FormulaR1C1 = "=IF(ISNA(VLOOKUP(RC[-1],'SFDB'!R2C15:R[47]C15,1,FALSE)),""No"","""")"
我试着:
  • 更改'SFDB'!类似于 strSheet2! ,但是运行这个,excel会要求我选择另一个excel文件(strSheet1strSheet2都来自InputBox)
  • 更改 R[47]R[lngRow] ,但这会导致错误“对象范围的方法公式R1C1 失败”
  • 最佳答案

    你需要带参数strSheet1lngRow"部分。
    改变:

    "=IF(ISNA(VLOOKUP(RC[-1],'SFDB'!R2C15:R[47]C15,1,FALSE)),""No"","""")"
    和:
    "=IF(ISNA(VLOOKUP(RC[-1],'" & strSheet1 & " '!R2C15:R[" & lngRow & "]C15,1,FALSE)),""No"","""")"
    另外,避免使用 SelectActiveCell , 而是使用完全限定的 RangeWorksheet对象。
    看看下面稍微修改的代码:
    Dim strSheet1 As String, strSheet2 As String, lngRow As Long

    With Sheets(strSheet1)
    lngRow = .Cells(.Rows.Count, "A").End(xlUp).Row

    .Range("J2").FormulaR1C1 = "=IF(ISNA(VLOOKUP(RC[-1],'" & strSheet1 & " '!R2C15:R[" & lngRow & "]C15,1,FALSE)),""No"","""")"
    End With

    关于excel - 在 VBA vlookup 中引用不同的工作表和定义的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66521777/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com