Почему при использовании Rows.Count можно найти только первые 12 строк данных? - PullRequest
0 голосов
/ 30 апреля 2018

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

Sub Header_Raw()
Dim dataBook As Workbook
Dim Header_Raw As Worksheet, Header As Worksheet
Dim dataSource As Range, dataDest As Range
Dim sourceDataRowCount As Integer, index As Integer

Set dataBook = Application.ThisWorkbook
Set sheetSource = dataBook.Sheets("Header_Raw")
Set sheetDest = dataBook.Sheets("Header")

Set dataSource = sheetSource.Range("B4", _
                sheetSource.Range("J90000").End(xlUp))
sourceDataRowCount = dataSource.Rows.Count

Set dataDest = sheetDest.Range("B13", "B" & _
                            sourceDataRowCount)

For index = 1 To sourceDataRowCount
  dataDest(index, 1).Value = dataSource(index, 1).Value
  dataDest(index, 2).Value = dataSource(index, 2).Value

Next index

End Sub

Если вы можете помочь мне сказать, что я сделал неправильно, это было бы здорово Спасибо Julie

1 Ответ

0 голосов
/ 30 апреля 2018

Сделайте свою жизнь проще с помощью простой отладки. Запустите следующее:

Sub HeaderRaw()

    'Dim all the variables here

    Set dataBook = Application.ThisWorkbook
    Set SheetSource = dataBook.Sheets("Header_Raw")
    Set sheetDest = dataBook.Sheets("Header")

    Set dataSource = SheetSource.Range("B4", SheetSource.Range("J90000").End(xlUp))
    SheetSource.Activate
    dataSource.Select

End Sub

Теперь вы увидите, какой у вас dataSource, насколько он выбран. Вероятно, это не то, что вы ожидаете.

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