如何激活excelsheet而不用vba打开它?

Emr*_*mre 2 excel vba

我想检查另一个 Excel 中的单元格,单元格是否大于“0”。

是否可以在不打开引用excel的情况下完成此操作?

Sam*_*Sam 5

你可以只使用一个公式:

=IF('C:\Path\To\Workbook\[myWorkbook.xlsx]Sheet1'!A1>0,"YES","NO")
Run Code Online (Sandbox Code Playgroud)

或者如果您必须使用 VBA:

Dim isGreaterThan As Boolean
'// Change the Sheet number and cell reference to match
With GetObject("C:\Path\To\Workbook\myWorkbook.xlsx")
    isGreaterThan = (CInt(.Sheets(1).Range("A1").Value) > 0)
    .Close
End With

Debug.Print "Number is " & IIf(isGreaterThan,"","NOT ") & "greater than 0"
Run Code Online (Sandbox Code Playgroud)

  • 在调试模式下单步执行代码。在立即窗口中输入“Application.Workbooks.Count”。在 `GetObject()` 之前只有 1 个工作簿。在“End With”之后有 2 个工作簿。因此,工作簿已打开,并且应该关闭。如果不这样做,关闭 Excel 工作簿后,Excel 应用程序将显示隐藏的工作簿。 (2认同)
  • 抱歉 - 我明白你的意思,我忘记了结束行 - 现在将其添加。好地方! (2认同)