Проблема в том, что есть несколько файлов с отчетами (я их в приложенной книге указал на листах), из которых нужно считать данные в ячейках "Номер и дата Заключения", эти ячейки в файлах заполнены по-разному, но нужен только номер и дата. Эти данные нужно вставлять в сводную табличку (например лист 3). Также считывание сверху идет норм по отступу от ячейки с названием столбца "Номер и дата Заключения", а вот количество строк в файлах (листах) разное и отформатированы они по-разному (где-то есть объединенные ячейки) , поэтому просто отступить от нижней строки со словом "Составил" до нижней ячейки сданными не получается. Где-то между "Составил" и последней строкой одна пустая строка, а где- то 2 или 3 и плюс не понятно как перейти от номера строки со словом "Составил", которое ищется во всем диапазоне А:H, а последнее значение должно считываться только из столбца F. По большому счету Лист 1 и есть сводная табличка куда надо вставлять данные в колонку "№ и дата Заключения о рассмотрении технической документации" из других листов . На разных листах данные по-разному записываются, но нужно только взять с них дату и номер заключения. (я начал ориентироваться только на данные с запятой). Изначально вообще думал, сделать чтение данных по шаблону. я не могу в колонках F найти правильно последнюю заполненную ячейку с номером и датой заключения, чтобы считать ее. Не могли бы подсказать, где ошибка?
Проблема в том, что есть несколько файлов с отчетами (я их в приложенной книге указал на листах), из которых нужно считать данные в ячейках "Номер и дата Заключения", эти ячейки в файлах заполнены по-разному, но нужен только номер и дата. Эти данные нужно вставлять в сводную табличку (например лист 3). Также считывание сверху идет норм по отступу от ячейки с названием столбца "Номер и дата Заключения", а вот количество строк в файлах (листах) разное и отформатированы они по-разному (где-то есть объединенные ячейки) , поэтому просто отступить от нижней строки со словом "Составил" до нижней ячейки сданными не получается. Где-то между "Составил" и последней строкой одна пустая строка, а где- то 2 или 3 и плюс не понятно как перейти от номера строки со словом "Составил", которое ищется во всем диапазоне А:H, а последнее значение должно считываться только из столбца F. По большому счету Лист 1 и есть сводная табличка куда надо вставлять данные в колонку "№ и дата Заключения о рассмотрении технической документации" из других листов . На разных листах данные по-разному записываются, но нужно только взять с них дату и номер заключения. (я начал ориентироваться только на данные с запятой). Изначально вообще думал, сделать чтение данных по шаблону. я не могу в колонках F найти правильно последнюю заполненную ячейку с номером и датой заключения, чтобы считать ее. Не могли бы подсказать, где ошибка?stepan190
Вот такая UDF вытаскивает "Номер и дата Заключения" [vba]
Код
Function Nomer_Date(cell As String) As String With CreateObject("VBScript.RegExp") .Pattern = ".+\d{2}\.\d{2}\.\d{2,4}" If .Test(cell) Then Nomer_Date = .Execute(cell)(0) Else Nomer_Date = "" End If End With End Function
[/vba] Вам нужно только сделать цикл по нужным листам с переносом "Номера и даты Заключения" в соответствующий лист. Удачи!
Вот такая UDF вытаскивает "Номер и дата Заключения" [vba]
Код
Function Nomer_Date(cell As String) As String With CreateObject("VBScript.RegExp") .Pattern = ".+\d{2}\.\d{2}\.\d{2,4}" If .Test(cell) Then Nomer_Date = .Execute(cell)(0) Else Nomer_Date = "" End If End With End Function
[/vba] Вам нужно только сделать цикл по нужным листам с переносом "Номера и даты Заключения" в соответствующий лист. Удачи!Kuzmich
Сообщение отредактировал Kuzmich - Среда, 15.04.2020, 22:44
А как считать данные из последней строки (с данными) в таблице? я не могу в колонках F найти правильно последнюю заполненную ячейку с номером и датой заключения
Kuzmich, спасибо
А как считать данные из последней строки (с данными) в таблице? я не могу в колонках F найти правильно последнюю заполненную ячейку с номером и датой заключенияstepan190
Kuzmich, спасибо Вы не подскажите как на всех ячейках листа макросом повернуть текст в нормальное положение (горизонтально) и эту измененную ячейку залить красной заливкой?
Kuzmich, спасибо Вы не подскажите как на всех ячейках листа макросом повернуть текст в нормальное положение (горизонтально) и эту измененную ячейку залить красной заливкой?stepan190
Сделал макрос по копированию ячеек на другой лист, но копирует только с одного листа 2, а с листа 4 не копирует Видимо ошибка в ilastrow2 = Ëèñò4.Range("F6").End(xlDown).Row Не могли бы Вы, подсказать в чем ошибка?
Сделал макрос по копированию ячеек на другой лист, но копирует только с одного листа 2, а с листа 4 не копирует Видимо ошибка в ilastrow2 = Ëèñò4.Range("F6").End(xlDown).Row Не могли бы Вы, подсказать в чем ошибка?stepan190
В смысле, не находит? В макросе ищется запятая и выводится всё, что до запятой. Так? В первой после шапки строке запятых нет, появляется сообщение "ошибка", нажимаем ОК, выводятся три строки
В смысле, не находит? В макросе ищется запятая и выводится всё, что до запятой. Так? В первой после шапки строке запятых нет, появляется сообщение "ошибка", нажимаем ОК, выводятся три строкиPelena
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816
Но точное количество листов не вытаскивает, а вместе с прилегающими словами. Попробовал сделать отдельную процедуру "Sheetsnumber", но не работает. Как можно изменить шаблон или процедуру, чтобы вытащить только номера страниц на "Лист3"?
Произвожу поиск количества листов в листах книги по шаблону. Так как заполнение количества листов разное, то приходится использовать сложный шаблон:
Но точное количество листов не вытаскивает, а вместе с прилегающими словами. Попробовал сделать отдельную процедуру "Sheetsnumber", но не работает. Как можно изменить шаблон или процедуру, чтобы вытащить только номера страниц на "Лист3"?stepan190