Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Правильное обращение к нужной книге/листу при нескольких открытых файлах
 
Всем большое спасибо!
Да, у меня действительно очень мало знаний по макросам, поэтому многое не понимаю)
И конечно много лишнего в самом коде, постепенно я чищу его)

Да, листов несколько, я их задала через переменные, по совету Nordheim,
И так же использовала конструкцию ниже. Теперь работает так как надо )
Код
.UsedRange.Value = .UsedRange.Value
Правильное обращение к нужной книге/листу при нескольких открытых файлах
 
Цитата
Название темы: Правильное обращение к нужной книге/листу при нескольких открытых файлах
Спасибо, что поправили тему.
А по поводу объявления переменной, мне не нужно открывать книгу wb
Она уже открыта и из нее я последовательно открываю остальные книги и забираю данные
Я уже выдерживаю паузу и только потом активирую нужную мне книгу (думала что эксель не успевает делать последовательно шаги, но все безуспешно...)
Первую часть с with он проходит хорошо
А вот на второй сбивается и уходит в тот файл, который я открыла (sFiles)

Код
    Workbooks.Open sFolder & sFiles
    
    Sleep 10000
    
    
    Workbooks("Информация для акционеров.xlsm").Sheets(1).Activate
    
    With ThisWorkbook.Worksheets("1150")
    
    
    .Range("A2").Formula = "=""Расшифровка статьи баланса""&"" """"""&""Дебиторская задолженность""&""""""""&"" ""&'Информация для справки'!R[-2]C[1]&"" на ""&TEXT('Информация для справки'!R[-1]C[1],""ДД.ММ.ГГГГ"")"
    .Range("B5") = a
    .Range("B6") = a
    .Range("B7") = a
    .Range("B8") = a
    .Range("B9") = a
    .Range("B10") = a
    .Range("B11") = a

      With ThisWorkbook.Worksheets("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
      
    End With
Изменено: Klavka1993 - 14.04.2020 10:57:31
Правильное обращение к нужной книге/листу при нескольких открытых файлах
 
Прошу прощения, может я не правильно описала суть проблемы, но мне то и нужно оставить активной только одну книгу
А именно переменную wb
Не смотря на то, что я использую конструкцию With и я предполагала, что это и есть отсылка на ту книгу, где происходит работа, код все-равно переключается на книгу, которую я потом открыла

Т.е. wb - это как раз основная книга
А работать он продолжает (а именно преобразовывает формулы в значения) в книге sFolder & bFiles
Правильное обращение к нужной книге/листу при нескольких открытых файлах
 
Добрый день. Не получается решить следующую проблему. Подскажите пожалуйста решение...
Есть определенный файл, в который необходимо занести данные из разных файлов и потом преобразовать формулы в значения.
Проблема в том, что при открытии различных файлов, он делает активными их и следовательно не видит листы, на которые я ссылаюсь в основном файле, т.е. он либо считает кол-во строк в другой книге, либо выдает ошибку

Код
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
Изменено: Klavka1993 - 14.04.2020 08:00:47
Выборочное разделение столбца на строки и столбцы
 
Цитата
artyrH написал:
.
Спасибо, ваше решение мне очень подходит)
Выборочное разделение столбца на строки и столбцы
 
Цитата
Юрий М написал:
А по какому признаку разделяются группы на первом листе? Всегда ли это число, а в группах только текст?
Да, то, что выделено цветом всегда число, а в группах - это текст
Выборочное разделение столбца на строки и столбцы
 
К сожалению нет, бывает разное количество строк между ними
Выборочное разделение столбца на строки и столбцы
 
Добрый день. Есть определенные данные, записанные в один столбец. Необходимо сделать более наглядную таблицу.
В файле, на вкладке "свод" я показала как должна выглядеть таблица.
Есть ли какая-нибудь функция или формула, которая автоматически заполнит мне плюсы и минуса в сводной таблице, на основании вкладки "данные"

Или я придумываю велосипед?
В макрос подставить имя файла из ячейки
 
Хорошо, спасибо за помощь)
В макрос подставить имя файла из ячейки
 
Да, есть и расширение у него xlsx, спасибо большое. Помогло)
В макрос подставить имя файла из ячейки
 
Вот сам макрос
В макрос подставить имя файла из ячейки
 
К сожалению, когда я переместила макрос в другую папку и выложила туда файл, который мне необходимо открыть, он снова выдает, что файл не найден(
Т.е. по старому пути файл открывает, но если всю папку переложить на другой диск или путь и запустить оттуда, он пишет ошибку(
Код
Код
Workbooks("4-связь_макрос.xlsm").Worksheets("стр.2_5").Activate
    Workbooks.Open Filename:=ThisWorkbook.Path & Application.PathSeparator & Worksheets("стр.2_5").Cells(3, 124).Value
    'Скопировать нужный диапазон в открывшейся книге на листе 1
    Worksheets("DANN").Range("B5:D40").Copy
    ActiveWorkbook.Close
Изменено: Klavka1993 - 09.06.2018 09:20:30
В макрос подставить имя файла из ячейки
 
Спасибо всем большое, код подошел
В макрос подставить имя файла из ячейки
 
Добрый день. Есть макрос, в котором необходимо открыть файл, скопировать данные и перенести на определенный лист макроса. Макрос пишет, что файл под таки именем не найден.

Вот сам макрос
Код
Workbooks("обьект").Worksheets("страница").Activate
Workbooks.Open Filename:=ThisWorkbook.Path & [A2]
Range("A:AA").Copy
Workbooks("обьект.xlsm").Worksheets("данные").Activate
 
ThisWorkbook.Sheets("данные").Range("A1").Select
Sheets("данные").Paste

Мне нужно, что бы он открывал файл в зависимости от критерия , который находится на листе "страница" в ячейке А2. Файл с именем будет лежать в паке, где находится макрос.

Подскажите, пожалуйста, как решить эту проблему
Есть макрос, копирующий данные из книг в новую книгу. В данном сводном файле в новом столбце нужно прописать наименования данных книг
 
обрый вечер. Есть макрос, который поочередно открывает файлы в папке и вставляет в новую книгу все данные. У каждого файла есть определённое имя.
Как прописать в макросе, что бы он когда вставлял данные одного файла, так же рядом приписывал имя этого файла. Потом, при открытии второго файла, так же рядом прописывал наименование файла и так далее. Что бы он не затирал другие уже прописанные наименования?
т.е. если имя файла "компания", то рядом в столбце по всем пустым ячейкам он приписывает это наименование.
Заранее спасибо за ответ.
Условие "если" в макросе.
 
Добрый вечер. Есть макрос, который поочередно открывает файлы в папке и вставляет в новую книгу все данные. У каждого файла есть определённое имя.
Как прописать в макросе, что бы он когда вставлял данные одного файла, так же рядом приписывал имя этого файла. Потом, при открытии второго файла, так же рядом прописывал наименование файла и так далее. Что бы он не затирал другие уже прописанные наименования?
т.е. если имя файла "компания", то рядом в столбце по всем пустым ячейкам он приписывает это наименование.
Заранее спасибо за ответ.
Страницы: 1
Наверх