VBA コードは ThisWorksheet パラメータを保持していません

VBA コードは ThisWorksheet パラメータを保持していません

別のワークブックから 1 列の値を取得し、現在のワークブックのタブに入力したいと考えています。これは最終的に、私が作成した非常に長いモジュールに組み込まれますが、これはうまく機能します。この手順を自動化したかったのです。以下はコードです。

私は下付き文字が範囲外です貼り付け行にエラーがあります。コピー元の 2 番目のワークブックがまだ開いており、範囲が選択されてコピーされ、貼り付け先を待っているため、ステートメント設定が機能していないようcurrentWbですThisWorkbook。考えられるすべての方法を検索して試しました。

Sub OpenWorkbookToPullData()

Dim sUserInput As String
    sUserInput = InputBox("Enter Account Folder Name:", "Folder Name")

Dim path As String
    path = "C:\users\" & Environ$("username") & "\OneDrive\Documents\Brightree\" & sUserInput & "\Financial Scorecard\Exceptions.xlsm"

Dim currentWb As Workbook
    Set currentWb = ThisWorkbook

Dim exceptionWb As Workbook
    Set exceptionWb = Workbooks.Open(path)

Dim exceptionWs As Worksheet
    Set exceptionWs = exceptionWb.Sheets("Exceptions")

Dim rng_data As Range
    Set rng_data = exceptionWs.Range("A1:A20")

 rng_data.Copy
 currentWb.Sheets("Exception").Range("A1").PasteSpecial xlPasteValues

exceptionWb.Close (False)

End Sub

答え1

あなたはそれを保証しなければなりませんシート("例外")存在する両方ワークブック。
そしてツイスティ指摘します。ワークシート名のスペルを確認してください。

関連情報