EDIT返します助けをたくさんした後ないで何が起こっているかの手がかりを有する、それは開口部(see @JohnMuggin's help below)の異なる方法を使用して働いていた - 私は私のオリジナルの未コメントコードと突然それが動作します。VBA Workbook.Open(ファイル)が何も
Workbook.Open("file")
が返された他のインスタンスが1つしか見つかりませんでした。(Link to Q)。しかし、私の理解では、ユーザ定義の関数でWorkbook.Open("file")
を呼び出すことが問題でした。ここではSub
に電話していますが、同じ問題を抱えていて解を見つけることができません。私は最後の行にSet wb = Workbooks.Open(myFile)
セットNothing
としてwb
をエクセル2013
Private Sub CommandButton2_Click()
'Set variables
Dim wb As Workbook 'Workbook to open
Dim wbR As Worksheet 'This is the raw data on the new workbook
Dim wsL As Worksheet 'Worksheet in current file
Dim myFile As String 'File to open
Dim FilePicker As FileDialog
'Set light chain hit worksheet
Set wsL = ThisWorkbook.Worksheets(3)
'Optimizes Speed
Application.EnableEvents = False
Application.Calculation = xlCalculationManual
'Retrieve Target Folder Path From User
Set FilePicker = Application.FileDialog(msoFileDialogFilePicker)
'Opens folder-picking window
With FilePicker
.Title = "Select a file."
.AllowMultiSelect = False
If .Show = True Then
myFile = .SelectedItems(1)
Else: GoTo NextCode
End If
End With
'If folder is not selected
NextCode:
myFile = myFile
If myFile = "" Then GoTo ResetSettings
'Set variable equal to opened workbook
Set wb = Workbooks.Open(myFile)
マクロは継続を使用しますが、しています。 wb
をコードのさらに遠くに呼び出すまで、これはエラーを生成しません。
さらに先の行Set wsL = ThisWorkbook.Worksheets(3)
もwsL
をNothing
と設定します。
デバッガを使用して各行と値を確認し、適切なパス、ファイル名、および拡張子がmyFile
であると判断しました。
ブックは開いていますか? –
@TimWilliamsいいえ、そうではありません。 – MTJ
'CommandButton2_Click'は何と呼びますか?それはユーザーフォーム上の単なるボタンですか? (私は尋ねる必要があります - 私は人々がUDFからこのようなコードを呼び出すのを見てきました) – YowE3K