Пытаясь скопировать данные из одной рабочей книги в другую, используя l oop, кто-нибудь может увидеть, что случилось? - PullRequest
0 голосов
/ 17 апреля 2020

Этот код предназначен для передачи данных сводной таблицы из одной рабочей книги в другую, он отлично работает для нескольких циклов, однако пробное приращение строки не догоняет после нескольких циклов. Я не уверен, почему это происходит после нескольких циклов!

Sub copypivotdata()

Dim x As Workbook
Dim y As Workbook
Dim n As String, ws As Worksheet
Dim pvt As Range
Dim i, i2 As Integer



Set x = Workbooks("WorkbookA.xlsm")
Set y = Workbooks("WorkbookB.xlsm")
i = 2

'Now, transfer values from x to y:

x.Activate

For Each ws In ActiveWorkbook.Worksheets
'With ActiveWorkbook.ActiveSheet
If ws.Name <> "Main Sheet" And ws.ChartObjects().Count <> 0 Then
    ws.Activate
Else:
    GoTo nextws
End If

    ws.Activate

    Range("A1048576").Select
    Selection.End(xlUp).Select
    Range(Selection, Selection.End(xlUp)).Select
    Range(Selection, Selection.End(xlToRight)).Select

    Set pvt = Selection
    i2 = Selection.Rows.Count
    'MsgBox i2

    y.Activate 'activate other workbook 
    'With
    y.Sheets("Pivot data").Range("C" & i, "D" & i2 + i) = pvt.Value

    i = i2 + 2
    i2 = 0


nextws: Next ws

y.Activate

End Sub

1 Ответ

0 голосов
/ 17 апреля 2020

l oop logi c было неверно .. Просто понял. «i = i2 + 2» неверно. Должно быть i = i + i2

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