Объявление переменной Workbook - PullRequest
0 голосов
/ 03 февраля 2020

VBA возвращает

ошибка времени выполнения 13

, когда я объявляю книгу как переменную, а затем указываю переменную для копирования данных

Sub CopyPnLData()

Dim PnLMonth As Workbook
Dim FilePath1 As String
FilePath1 = "C:\Users\mturkenburg\WHISPIR\Gareth Edlin - FP&A\Anaplan\P&L\Monthly Downloads\1.1 P&L OPEX Buckets - Month.CSV"
Workbooks.Open (FilePath1)
Set PnLMonth = Application.Workbooks("1.1 P&L OPEX Buckets - Month.CSV")

Workbooks(PnLMonth).Worksheets("Sheet 1").Range("A1").CurrentRegion.Copy
ThisWorkbook.Worksheets("1.AP Data - P&L").Range("c1").Paste

End Sub

1 Ответ

1 голос
/ 03 февраля 2020

Я изменил ваш код и добавил несколько комментариев для вашей справки.

Sub CopyPnLData()
  Dim PnLMonth As WorkBook
  Dim FilePath1 As String

  FilePath1 = "C:\Users\mturkenburg\WHISPIR\Gareth Edlin - FP&A\Anaplan\P&L\Monthly Downloads\1.1 P&L OPEX Buckets - Month.CSV"

  ' check the variable first
  If Dir(FilePath1) = "" Then
    MsgBox "File not found. : " & FilePath1
    Exit Sub
  End If

  ' set your workbook variable when you open it like this
  Set PnLMonth = Workbooks.Open(FilePath1)

  ' use your workbook variable in code like this
  PnLMonth.Worksheets("Sheet 1").Range("A1").CurrentRegion.Copy

  ' not sure if this line is going to work, as you did not provide details about it
  ThisWorkbook.Worksheets("1.AP Data - P&L").Range("c1").Paste

  ' close it when you are done
  PnLMonth.Close False

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...