Использование текущего региона в VBA превращает мой Excel - PullRequest
0 голосов
/ 22 марта 2020
Sub Alternate_Workbook_Reference()

'  Dim wsCopy As Worksheet
'  Dim lCopyLastRow As Long
  'The ThisWorkbook property can be used if the code is in the same
  'workbook as the copy or destination range.  In this case the code
  'is in the destination workbook.
  Call OpenWorkbook

  Workbooks("2020.revenue.bins.csv").Worksheets("2020.revenue.bins").Range("A1:C21").Copy _
    ThisWorkbook.Worksheets("2020 revenue bins").Range("A1")
  'CopyLastCColumn = wsCopy.Cells(wsCopy.Rows.Count, "A").End(xlUp).Row
'  Dim rng As Range, lastCell As Range
'  Set rng = Workbooks("2020.outcomes.csv").Worksheets("2020.outcomes").Range("A1").CurrentRegion       ' or Set rng = Sheet1.UsedRange.CurrentRegion
'  Set lastCell = rng(rng.Rows.Count, rng.Columns.Count)
  Workbooks("2020.outcomes.csv").Worksheets("2020.outcomes").Range("A1").CurrentRegion.Copy _
    ThisWorkbook.Worksheets("2020 outcomes").Range("A1") 

'  Workbooks("2020.outcomes.csv").Worksheets("2020.outcomes").Range("A1").CurrentRegion .Copy _
    ThisWorkbook.Worksheets("2020 outcomes").Range("A1")

  Call CloseWorkbook
End Sub

Привет, мне нужно скопировать данные из листа 2020.outcomes в 2020.outcomes.csv в таблицу результатов моей текущей рабочей книги за 2020 год. Диапазон данных в исходном CSV-файле может варьироваться, поэтому я использую CurrentRegion, но как только приведенный выше код выполняется, моя книга вылетает, и я не могу открыть ее снова. Что я делаю неправильно? Открытие и закрытие рабочей книги - это простой код для открытия и закрытия рабочей книги. Заранее спасибо.

1 Ответ

0 голосов
/ 22 марта 2020

Может быть, это поможет

Sub Alternate_Workbook_Reference()

    Dim wkb As Workbook

    Set wkb = Workbooks.Open("Complete Path and filename of 2020.outcomes.csv")
    wkb.Worksheets("2020.revenue.bins").Range("A1:C21").Copy _
        ThisWorkbook.Worksheets("2020 revenue bins").Range("A1")
    wkb.Close False

    Set wkb = Workbooks.Open("Complete Path and filename of 2020.outcomes.csv ")
    wkb.Worksheets("2020.outcomes").Range("A1").CurrentRegion.Copy _
        ThisWorkbook.Worksheets("2020 outcomes").Range("A1")
    wkb.Close False

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