Прокрутка папки и копирование значений и форматов первого листа - PullRequest
0 голосов
/ 30 декабря 2018

Я работал с кодом VBA, который копирует первый лист в папке в другую книгу.

Код копирует данные правильно, но при сохранении я получаю определенные ячейки с ошибками (#Ref), это связано снекоторые из скопированных ячеек, имеющие формулу.

Я бы хотел, чтобы скопированные данные сохраняли исходное форматирование, но имели только значения.Или, альтернативно, ячейки с 2 ошибками - это M11 и O11, которые имеют формулу соответствия индекса, если эти значения в 2 ячейки можно вставить без формулы, остальные скопированные данные будут в порядке.

Любая помощь будет оценена.

Я пытался использовать PasteSpecial xlPasteValuesAndNumberFormats и .PasteSpecial xlPasteFormats, но я не уверен, как изменить функцию копирования.

Sub MergeMultipleWorkbooks()

    Dim Path, Filename As String

    Path = "C:\Users\User\Desktop\ProMacro\"
    Filename = Dir(Path & "*.xlsx")

    Do While Filename <> ""

        With Workbooks.Open(Filename:=Path & Filename, ReadOnly:=True)
            .Worksheets(1).Copy After:=ThisWorkbook.Sheets(1) 

            .Close False
        End With

        Filename = Dir()
    Loop

    MsgBox "Files has been copied Successfull", , "MergeMultipleExcelFiles"
End Sub

Код копирует первый лист из указанного файла вв папке, моя единственная проблема заключается в том, что некоторые ячейки будут иметь #Ref при сохранении файла как копируемых формул.

1 Ответ

0 голосов
/ 30 декабря 2018

Когда рабочая книга открыта, скопируйте все содержимое листа и вставьте его в тот же лист, что и значения.Это код, который вы вводите между

с Workbooks.Open (имя файла: = путь и имя файла, ReadOnly: = True) и .Worksheets (1) .Copy After: = ThisWorkbook.Sheets (1)

Форматирование не изменяется, а формулы заменяются значениями.

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

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