Добрый день. Не получается решить следующую проблему. Подскажите пожалуйста решение...
Есть определенный файл, в который необходимо занести данные из разных файлов и потом преобразовать формулы в значения.
Проблема в том, что при открытии различных файлов, он делает активными их и следовательно не видит листы, на которые я ссылаюсь в основном файле, т.е. он либо считает кол-во строк в другой книге, либо выдает ошибку
И такая же ситуация с открытием другой книги
Есть определенный файл, в который необходимо занести данные из разных файлов и потом преобразовать формулы в значения.
Проблема в том, что при открытии различных файлов, он делает активными их и следовательно не видит листы, на которые я ссылаюсь в основном файле, т.е. он либо считает кол-во строк в другой книге, либо выдает ошибку
| Код |
|---|
Set wb = GetObject(sFolder & zFiles)
'открываем книгу "Бухгалтерский баланс"
Workbooks.Open sFolder & sFiles
' Workbooks("Информация для акционеров.xlsm").Sheets(1).Activate
With wb.Worksheets("1110")
'Для страницы 1110 в файле Информация для акционеров
.Range("A2").Formula = "=""Расшифровка статьи баланса""&"" """"""&""Нематериальные активы""&""""""""&"" ""&'Информация для справки'!R[-1]C[1]&"" на ""&TEXT('Информация для справки'!RC[1],""ДД.ММ.ГГГГ"")"
.Range("B5") = a
.Range("B6") = a
.Range("B7") = a
.Range("B8") = a
.Range("B9") = a
.Range("B10") = a
.Range("B11") = a
Sheets("1110").Select
'преобразовываем формулы в таблице на листе 1110 в значение
For i = Cells(Rows.count, 1).End(xlUp).Row To 1 Step -1
If Cells(i, 1) <> "Итого" Then Cells(i, 2).Value = Cells(i, 2).Value
Next
End With
|
И такая же ситуация с открытием другой книги
| Код |
|---|
Workbooks.Open sFolder & bFiles
' Workbooks("Информация для акционеров.xlsm").Select
With wb.Worksheets("1230")
'Для страницы 1230 в файле Информация для акционеров
Worksheets("1230").Range("A3").Formula = "=""Расшифровка статьи баланса""&"" """"""&""Дебиторская задолженность""&""""""""&"" ""&'Информация для справки'!R[-2]C[1]&"" на ""&TEXT('Информация для справки'!R[-1]C[1],""ДД.ММ.ГГГГ"")"
.Range("B6") = j
.Range("B7") = j
.Range("B8") = j
.Range("B9") = j
.Range("B10") = j
.Range("B11") = j
.Range("B12") = j
'преобразовываем формулы в таблице на листе 1230 в значение
Sheets("1230").Select
For i = Cells(Rows.count, 1).End(xlUp).Row To 1 Step -1
If Cells(i, 1) <> "Итого" Then Cells(i, 2).Value = Cells(i, 2).Value
Next
End With
|
Изменено: - 14.04.2020 08:00:47