3

閉じた Excel ワークブックの列内で文字列を検索しています。

次のコードでは、MsgBox で型の不一致エラーが発生します。

その行をret = "'" & wbPath & "[" & wbName & "]" & wsName & "'!" & Range("C3015").Address(True, True, -4150)次のように置き換えると、マクロはハードコードされた値 (この場合はセル C3015 の値) を返します。

ワークブックを開かずに、閉じたワークブックの列内の他の値を検索するにはどうすればよいですか?

 Dim wbName As String, wbPath As String, wsName As String

 wbPath = "Path\To\Workbook\"
 wbName = "NameOfWorkbook.xlsb"
 wsName = "NameOfWorkSheet"

 Dim ret As String    

 ret = "'" & wbPath & "[" & wbName & "]" & wsName & "'!" & Range("D:D").Find(What:="SearchColumnDForThisString")

 MsgBox ExecuteExcel4Macro(ret) // <--------- TYPE MISMATCH ERROR
4

1 に答える 1

0

複数のマクロでブックを使用している場合は、ブックを開いたままにしておくことができます。次のような操作を実行して、ブックを開いて非表示にすることができます。ワークブックをパブリック変数に設定して、完了したら閉じることもできます。

Dim Wn as Window
Dim Wb as Workbook

Application.ScreenUpdating = False

Set Wb = Application.Workbooks.Open("your book")

For Each Wn in Wb
    Wn.Visible = False
Next Wn

Application.ScreenUpdating = True
于 2013-08-06T08:34:34.963 に答える