Excel VBA ~ Таблица данных не записывается на лист

У меня есть следующая подпрограмма:

Sub AppendFixedLegData(FloatingLegRows As Long)

    Dim loFixedLegData As ListObject
    Dim i As Integer

    Set loFixedLegData = Sheets("D. Fixed Leg").ListObjects("d_Fixed_Leg_Data")

    ThisWorkbook.Sheets("D. PA Data").Range("d_PA_Data").Offset(FloatingLegRows, 0).Resize(109, 247) = loFixedLegData.DataBodyRange  

    For i = 1 To loFixedLegData.Range.Rows.Count
        Debug.Print loFixedLegData.ListRows(i).Range(i, 4).Value
    Next i

End Sub

Оператор ThisWorkbook не вставляет данные, содержащиеся в loFixedLegData.DataBodyRange, хотя он выполняет делает. Более того, если я нажимаю Ctrl-End на листе, куда записываются данные, Ctrl-End переходит в конечную ячейку записываемого раздела, доказывая, что некоторая часть оператора выполняется, но данные не наклеивается.

Я подтвердил, что данные действительно существуют, с помощью оператора debug.print непосредственно под ним.

Почему это не работает?

Диапазон d_PA_Data, вероятно, не такого же размера, как loFixedLegData. Проверьте, сколько ячеек в ширину и в высоту. (Также для уточнения: то, что вы делаете, не называется оклейка)

ashleedawg 29.05.2018 11:38
Преобразование HTML-таблицы в профессиональный документ Excel
Преобразование HTML-таблицы в профессиональный документ Excel
Это самый простой способ создания Excel из HTML-таблицы.
Импорт excel в laravel в базу данных
Импорт excel в laravel в базу данных
Здравствуйте, дорогой читатель, в этой статье я расскажу практическим и быстрым способом, как импортировать файл Excel в вашу базу данных с помощью...
1
1
46
1

Ответы 1

Я обнаружил проблему ... очень простую. В конце DataBodyRange должен быть .Значение, то есть должен быть DataBodyRange.Value. Как только я вставил это, все было хорошо.

Другие вопросы по теме