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

Страницы: 1
Inquire/Power Query для сравнения листов книг
 
Добрый вечер!
Подскажите, пожалуйста, в каком направлении двигаться.
Есть 2 файла, которых есть лист с 45 столбцами и тысячами строк.
Стоит задача эти два файла (точнее, 2 листа из разных книг) сравнить между собой и выявить только расхождения в конкретных ячейках.
Пробовал для этой цели использовать Power Query. Мощный инструмент, ничего плохого сказать не могу. Но тут проблема - в качестве эксперимента изменил только одно значение в ячейке, он мне эту строку выдал ожидаемо, но не видно, где было различие. То есть, здесь придется просматривать все 45 столбцов на различие одного листа с другим. Огромным плюсом является то, что одинаковые строки могут по-разному располагаться на листах и PQ понимает то, что это одинаковые строки и мне их не выгружает.
Пробовал Inquire. Здесь все очень наглядно видно, где и что различается. Как раз этого не хватает в PQ. Но тут другая проблема - одни и те же строки, которые по-разному расположены, надстройка выдает за расхождение. Снова не то...
Может, есть инструмент, который объединил бы плюсы PQ и Inquire?
Во вложении 2 файла, которые пробовал сравнить в Inquire. Содержимое файлов одинаково, но выдается в различия.
Подскажите, пожалуйста, как быть?
При запуске Excel выдается ошибка "Не удается открыть файл", Ошибка при запуске Excel
 
Добрый вечер!
При запуске Excel (Пуск --> Excel) выдается сообщение об ошибке: "Не удается открыть файл <Имя файла>, так как формат или расширение этого файла являются недопустимыми. убедитесь, что файл не поврежден и расширение его имени соответствует его формату."
Такое же сообщение выводится, когда пытаюсь открыть любой другой файл.
Пробовал восстанавливать microsoft office (2016) - не помогло.
Подскажите, пожалуйста, как можно устранить эту ошибку?
Добавление в макрос разделения таблицы шапки в каждый файл, Добавление в макрос разделения таблицы шапки в каждый файл
 
Доброго времени суток!
Нашел по ссылке очень нужный мне макрос https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=read&FID=8&TID=25707
Но очень хотелось бы, чтобы в создаваемых файлах еще была и шапка таблицы (она всегда в первой строке делимого листа)
Помогите, пожалуйста, с решением данной проблемы
Изменено: LeoNeon - 24.12.2022 20:13:03
Переделать Function для диапазона в Sub
 
Добрый день, уважаемые форумчане!
Проблема не новая, но не смог найти решение под свои нужды
Есть выгрузка из 1С. На экране вижу лидирующие нули, но в содержимом ячеек их нет.
Нашел функцию, которая помогает решить проблему, но мне бы хотелось выделить на листе диапазон с данными, в которых нужно проставить реальные нули и запустить Sub, а не Functuon
Помогите, пожалуйста, с решением проблемы.
Заранее огромное спасибо!
Тема с функцией здесь: Сохранение лидирующих нулей
Сама функция:
Код
Function kaktext(r As Range) As String
kaktext = r.Text
End Function


Заранее огромное Спасибо!
Скрыть листы в Excel так, чтобы они отображались, когда переходишь к ним по гиперссылке SHAPE
 
Здравствуйте!
Уважаемые форумчане, помогите, пожалуйста, со следующим вопросом.
Есть файл с несколькими листами. На главной странице сделаны гиперссылки на каждый лист. Гиперссылки прописаны в объектах рисования (автофигуры). На каждом листе есть гиперссылка на главную страницу.    
Хотелось бы перемещаться по листам только по гиперссылкам, а все листы, кроме активного, были бы скрыты.
Очень похожая тема здесь: https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=read&FID=8&TID=29560
Но там нет автофигур (Shape)
Результат темы выше:
Код
Private Sub Workbook_SheetFollowHyperlink(ByVal sh As Object, ByVal Target As Hyperlink)  
If Target.Address <> "" Then Exit Sub 'внешняя гиперссылка  
Range(Target.SubAddress).Parent.Visible = xlSheetVisible: sh.Visible = xlSheetHidden  
End Sub
Создание сводной таблицы при наличии объединенных ячеек, Сводная таблица если в исходной есть объединненые ячейки
 
Добрый день!
Есть исходная таблица с объединенными ячейками и одинаковыми наименованиями столбцов (во вложении).
Необходимо построить сводную таблицу.
Я хотел бы узнать, есть ли какой-то способ построения сводной таблицы, при этом не переделывая исходную таблицу?
Буду рад любому ответу, спасибо!
Месяц в названии файла с маленькой буквы
 
Добрый день.
Пишу макрос, который при сохранении файла в имя файла добавляет месяц и год.
Хочу добиться, чтобы месяц в имени файла прописывался с маленькой буквы, но не получается - первая буква месяца всё равно прописная.
Код такой:
Код
ActiveWorkbook.SaveAs Filename:=p & "\" & "Отчет за " & Format(DateSerial(Year(Now), Month(Now) - 1, 1), "[$-ru-RU-x-nomlower]mmmm yyyy;@") & "" & ".xlsx", FileFormat:=xlOpenXMLWorkbook
Подскажите, пожалуйста, где я ошибаюсь?
Ускорить код по применению параметров страницы ко всем листам книги
 
Здравствуйте, уважаемые форумчане!
Перебираю циклом каждый лист в книге и задаю параметры страницы.
В книге порядка 300 листов. Когда применяю макрос, Excel зависает в связи с переполнением памяти.
Подскажите, пожалуйста, как можно ускорить макрос?
Код
Sub Параметры()
For Each xWorksheet In ActiveWorkbook.Worksheets
    With xWorksheet.PageSetup
        .FitToPagesWide = 1
        .Orientation = xlLandscape
        .LeftMargin = Application.InchesToPoints(0.196850393700787)
        .RightMargin = Application.InchesToPoints(0.196850393700787)
        .TopMargin = Application.InchesToPoints(0.196850393700787)
        .BottomMargin = Application.InchesToPoints(0.196850393700787)
        .HeaderMargin = Application.InchesToPoints(0)
        .FooterMargin = Application.InchesToPoints(0)
        .CenterHorizontally = True
        .PrintTitleRows = "$5:$7"
    End With
Next xWorksheet
End Sub
Изменено: Leojse - 12.05.2020 23:39:11
Переменная в FormulaLocal
 
Добрый день, уважаемые форумчане!

Пытаюсь выполнить расчеты в первой книге, использовав данные из второй книги с помощью FormulaLocal.
Сама формула выглядит так:
Код
=СУММЕСЛИ('[Книга1.xlsb]Лист1'!$I$2:$I$4492;N6;'[Книга1.xlsb]Лист1'!$Y$2:$Y$4492)
Думал объявить переменные следующим образом и использовать уже в FormulaLocal:
Код
Set Данные1 = Книга1.Лист1
Но не могу понять, записать эту переменную в FormulaLocal.
Если просто заменить [Книга1.xlsb]Лист1 на Данные1, то Excel повторно просит открыть книгу:
Код
=СУММЕСЛИ('Данные1'!$I$2:$I$4492;N6;'Данные1'!$Y$2:$Y$4492)
Подскажите, пожалуйста, как можно решить проблему?
Изменено: Leojse - 11.05.2019 13:41:08
Удаление кнопки при сохранении листа в новый файл
 
Добрый вечер, уважаемые форумчане!
Понимаю, что тема поднималась много раз, но сам никак не могу исправить код.
Помогите, пожалуйста, разобраться в следующем.
Выполняю некоторые действия в книге, затем сохраняю определенный лист с кнопкой в новую книгу. Все работает отлично, но в новую книгу копируется и лист, и кнопка.
Вот фрагмент кода, который выполняет сохранение:
Код
p = ActiveWorkbook.Path
    Sheets("Лист для сохранения").Copy
     ActiveWorkbook.SaveAs Filename:=p & "\" & Format(Now(), "mm/yyyy") & " " & "Лист для сохранения.xlsx", FileFormat:=xlOpenXMLWorkbook
     Sheets(1).Activate
     ActiveSheet.Shapes.Range(Array("Button 1")).Delete
Именно в таком варианте кнопка удаляется, но новая книга остается открытой и при закрытии Excel спрашивает о ее сохранении.
Если в конец кода добавить:
Код
ActiveWindow.Close
То книга сохраняется, закрывается, но кнопка в ней не удаляется.
Помогите, пожалуйста, как поправить код, чтобы новая книга сохранялась, закрывалась, и чтобы в ней не было кнопки.
Изменено: Leojse - 08.05.2019 21:23:43
Добавить в существующие формулы слагаемое
 
Добрый день, уважаемые форумчане!
Подскажите, пожалуйста, как быть в такой ситуации.
Есть файл, в котором занесены данные и результирующий столбец (Итог). В столбце "Итог" прописаны разные формулы.
Необходимо к существующим формулам добавить еще одно слагаемое (дополнительные данные).
Но, из-за того, что формулы в столбце "Итог" различны, невозможно добавить в формулу это дополнительное слагаемое, а потом растянуть формулу.
Подскажите, пожалуйста, возможно ли как-то в существующие формулы добавить еще одно слагаемое?
Формул очень много и заходить в каждую ячейку, вручную добавляя дополнительные данные, просто невозможно.
Изменение формата ячеек после применения фильтра, Изменить формат ячеек после фильтра
 
Здравствуйте, уважаемые форумчане!

Конечно, поздравляю с праздником девушек форума!

Теперь сам вопрос, который пока не могу решить самостоятельно.
Мне необходимо применить фильтр к таблице и изменить в определенных ячейках формат на общий. В примере - нужно изменить формат в видимых ячейках столбца B после применения фильтра по столбцу A.
Подскажите, пожалуйста, как это можно сделать? В файле небольшой код.
Нахождение средневзвешенного значения, Средневзвешенное значение
 
Добрый вечер!
Уважаемые форумчане, снова надеюсь на Вашу помощь.
Произвожу расчет средневзвешенного значения. Есть данные (Лист "Начальные данные"). Рассчитываю средневзвешенную температуру по объектам.
Для этого, для каждого периода работы нахожу время работы, среднюю температуру. Затем, рассчитываю средневзвешенную температуру по времени (зеленый столбец). Количество объектов и периодов всегда разное и в большем количестве, чем в примере.
Подскажите, пожалуйста, возможно ли как-то автоматизировать процесс? Цель расчета - получить средневзвешенную температуру. Столбцы D, E, F - вспомогательные, я создаю их только для расчета.
Буду признателен за любую помощь!
Объект не найден ядром СУБД Access, Объект не найден ядром СУБД Access
 
Добрый вечер, уважаемые форумчане!
Помогите, пожалуйста, вот с таким вопросом.
Есть 2 листа - "список 1" и "список 2". На листе "Общий список" я формирую общий список из двух диапазонов. При малых объемах диапазонов макрос отрабатывает без ошибок. Сейчас столкнулся с тем, что если в каком-либо списке появляется большое количество данных, точнее, если диапазоны данных велики (как на листе "Список 1"), то макрос выдает ошибку:
"Run-time error '-2147217865 (80040e37)':
Объект "Список_1$G6:G135105" не найден ядром СУБД Microsoft Access. Убедитесь, что объект существует, а его имя и путь к нему указаны правильно. Если объект "Список_1$G6:G135105" не является локальным, проверьте сетевое подключение или обратитесь в администратору сервера."
Помогите, пожалуйста, разобраться с данной ошибкой.
Повторюсь, что макрос при малых диапазонах отрабатывает корректно.
В приложенном примере из-за размера файла пришлось удалить часть данных на листе "Список 1".
Заранее, огромное спасибо за любой совет!
Невозможно записать макрос, При попытке записать макрос в книгу - Запись невозможна
 
Добрый вечер!
Уважаемые форумчане, помогите разобраться с проблемой.
Office 2016, Win7x64.
При попытке записать макрос в книгу выскакивает окно - "Запись невозможна".
Могу писать макросы только в личной книге макросов.
Когда открываю обычную книгу и захожу в редактор VBA - вижу только один проект, а именно проект личной книги макросов.
Пробовал изменять офис, сносил и заново устанавливал, заходил под другой учетной записью - ничего не помогает.
Буду очень признателен за любой совет!
Очистка фильтра на защищенном листе, Очистка фильтра на защищенном листе в общем доступе из личной книги макросов
 
Здравствуйте, уважаемые форумчане!
Подскажите, пожалуйста, по следующему вопросу.
Есть книга, которая находится в общем доступе. В ней есть лист, на котором защищены некоторые диапазоны. На листе установлен фильтр. При этом, кнопка "Очистить фильтр" на защищенном листе не активна.
Скажите, пожалуйста, возможно ли очистить фильтр на защищенном листе, не снимая защиту листа и не ограничивая доступ из личной книги макросов?  
СУММЕСЛИМН возвращает 0, Один диапазон условий, но самих условий более одного
 
Здравствуйте, уважаемые форумчане!
Думаю, вопрос Вам покажется глупым, но сам я решить его не могу.
Необходимо произвести суммирование с помощью функции СУММЕСЛИМН (пример во вложении).
Диапазон суммирования - столбец В, диапазон условия - столбец А. Условия для суммирования - Яблоко; Персик.
Пишу формулу: =СУММЕСЛИМН(B2:B9;A2:A9;A2;A2:A9;A4). Верный результат 124.
Но формула возвращает 0.
Подскажите, пожалуйста, где я ошибся в написании формулы?
Суммирование значений столбца по нескольким критериям в одной ячейке другого столбца
 
Добрый вечер, уважаемые форумчане!
Подскажите, пожалуйста, по следующему вопросу для функции СУММЕСЛИ.
Синтаксис формулы: СУММЕСЛИ(диапазон; условие; [диапазон_суммирования])
Возможно ли без VBA сделать следующее - чтобы СУММЕСЛИ суммировала значения, если в столбце "Критерий" уже содержится несколько значений?  
Вставка строк (правка готового макроса)
 
Добрый день, уважаемые форумчане!
Пытаюсь немного подредактировать следующий код:
Код
Sub Вставка_строк()
Dim i As Long, iLastRow As Long, col1 As Range
    With Application
        .ScreenUpdating = False
        Set col1 = Application.InputBox(Prompt:="Выберите столбец", Type:=8)'выбор столбца
        iLastRow = Cells(Rows.Count, 5).End(xlUp).Row 'вместо номера столбца хочу указать переменную столбца, но вылетает ошибка
        If iLastRow = 1 Then
            MsgBox "Нет данных в выбранном столбце", vbExclamation, "Ошибка"
            Exit Sub
        End If
            For i = iLastRow To 5 Step -1
                If Cells(i, 5) <> Cells(i - 1, 5) Then
                    Cells(i, 1).EntireRow.Insert
                    i = i - 1
                End If
            Next i
        .ScreenUpdating = True
    End With
End Sub

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

Помогите, пожалуйста, поправить код. Заранее огромное спасибо!

Изменено: Leojse - 28.06.2017 22:57:18
Вычисление количества дней в зависимости от даты и месяца
 
Здравствуйте, уважаемые форумчане!
Прошу помочь мне разобраться в следующем.
Есть объекты с датами перехода, которые переходят из стадии 1 в стадию 2. Мне нужно вычислить, сколько дней каждый объект находился в 1 и во 2 стадии по месяцам. Написал простенькую формулу. При вычислении дней в январе всё отлично, но когда начинаю вычислять количество дней в феврале и марте, моя формула перестает корректно вычислять дни. На пример, когда считаю дни в феврале по объекту 1, то формула выдает, что этот объект в первой стадии пробыл 50 дней (вместо нуля), а во второй стадии (-22) дня (вместо 28 дней).
Во вложении приложил файл, слева таблица с моей формулой, справа таблица, как должно быть в феврале и марте.
Объектов довольно много, а месяцев 12. Во вложении лишь часть таблицы.
Заранее спасибо Вам за любую подсказку!
Диалоговое окно с выбором действия
 
Добрый вечер, уважаемые форумчане!
Подскажите, где можно найти решение по моему вопросу.
Выполняется макрос, работает отлично. Но возникла необходимость, чтобы макрос работал в зависимости от выбора, который нужно сделать перед выполнением строчки:
Код
Worksheets("Схема").Range("D" & i + 3) = Application.WorksheetFunction.SumIf(.Range("A5:A200" & c2), rst(0), .Range("C5:C200" & c2) '1 вариант
Иногда, нужно, чтобы выполнялась следующая строчка:
Код
Worksheets("Схема").Range("D" & i + 3) = Application.WorksheetFunction.SumIf(.Range("A5:A200" & c2), rst(0), .Range("F5:F200" & c2) '2 вариант
Подскажите, возможно ли как-то через диалоговое окно задавать макросу,  какой вариант нужен?
Что-то типа "Выберете необходимый вариант" и ниже 2 флажка
1 вариант
2 вариант
И, в зависимости от флага, выполнялась нужная строчка.
Буду очень благодарен за любой совет!
Листы книги в файлы .pdf
 
Добрый вечер!
Надеюсь на Вашу подсказку.
На данном сайте нашел очень хороший макрос по разделению листов в отдельные .xlsx файлы. Макрос отличный, но не могу его подредактировать под мои задачи. Мне нужно, чтобы листы сохранялись в файлы .pdf и имена этих файлов соответствовали именам листов.
Вот исходный код:
Код
Sub SplitSheets2()
    Dim s As Worksheet
    Dim wb as Workbook
    Set wb = ActiveWorkbook
    For Each s In wb.Worksheets                                'проходим во всем листам активной книги
        s.Copy                                                 'сохраняем лист как новый файл
        ActiveWorkbook.SaveAs wb.Path & "\" & s.Name & ".xls"  'сохраняем файл
    Next
End Sub

Пытался замнить .xls на .pdf, но конечно, это не помогло. Файлы создаются, но не открываются.
Пытался добавить вот такую строчку:
Код
Sub SplitSheets2()
    Dim s As Worksheet
    Dim wb as Workbook
    Set wb = ActiveWorkbook
    For Each s In wb.Worksheets                                'проходим во всем листам активной книги
    s.ExportAsFixedFormat Type:=xlTypePDF, Quality:=xlQualityMinimum, _        IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:= True
        s.Copy                                                 'сохраняем лист как новый файл
        ActiveWorkbook.SaveAs wb.Path & "\" & s.Name & ".xls"  'сохраняем файл
    Next
End Sub
Но опять ничего не получается. Подскажите, пожалуйста, где я ошибаюсь?
Поиск заданного значения в книгах и копирование строк
 
Добрый вечер, уважаемые форумчане!
Снова обращаюсь к Вам за помощью, так как Вы не раз меня выручали
Прошерстил форум по поиску, но чего-то схожего к моей задаче не нашел.
Есть книги и в них есть лист "2. Нужный лист". Мне бы очень хотелось, чтобы при запуске макроса искомые значения находились в книгах "1" и "2" на листах "2. нужный лист" в столбце 18 и строки полностью копировались в книгу "результат". Значения, которые нужно найти в книгах, меняются, поэтому хотелось бы значения, которые нужно находить, вводить в окно input (хотя, вообще не важно, каким способом макросу задавать эти значения). В книгах "1" и "2" данные могут быть отфильтрованы, строки либо столбцы скрыты, поэтому, хотелось бы, чтобы макрос игнорировал бы всё это при поиске.
Также, очень хотелось бы, чтобы при новом поиске, старые скопированные данные не стирались, а новые строки добавлялись бы под старыми строками.
И, если, это возможно, хотелось бы, чтобы в книге "результат" в столбце "А" отображалось имя книги, откуда строка была скопирована. В примерах искомые значения такие - "Туловище, Рука, Расческа, Фанта, Сок".
Заранее огромное спасибо за любой совет!
Изменено: Leojse - 09.09.2016 22:52:07 (Прикрепил правильные файлы)
Не запускается надстройка надстройка Fuzzy Lookup
 
Добрый вечер, уважаемые форумчане!
Возникла необходимость сравнения больших объемов данных с неточным совпадением. Порывшись в интернете, набрел на эту надстройку. Но дело в том, что после ее установки, надстройка не запускается. Даже вкладка не появляется. Если зайти в "Надстройки COM", написано внизу окошка (Поведение при загрузке) - "Загрузка не выполнена. Произошла ошибка времени выполнения во время загрузки надстройки COM."
Подскажите, пожалуйста, можно ли как-то это поправить? Думаю, данная надстройка бы мне очень облегчила жизнь.
Win7x64, office 2010, 32-разрядный.
Заранее спасибо за ответ!
Изменено: Leojse - 01.09.2017 15:07:09
Выделение повторяющихся значений в двух столбцах по условиям
 
Добрый вечер, уважаемые форумчане! Вопрос довольно-таки распространенный, находил что-то похожее на форумах, но не смог сделать так, как мне нужно. Есть 2 столбца. В них забиты разные значения. Хотелось бы, чтобы повторяющиеся значения раскрашивались. В excel есть такая функция - "Повторяющиеся значения", но она немного не так работает, как нужно мне. Если в первом и втором столбце есть цифра 7 (как в примере), то оба значения нужно закрасить. Если только в одном столбце есть повторы, то красить не нужно (цифра 1 в примере). А если в одном столбце есть число, которое также есть и во втором, причем во втором это число может встретиться несколько раз, то нужно красить и в первом, и во втором столбце ( в примере цифра 3).
Заранее спасибо за любую помощь!
Копирование данных столбцов
 
Всем добрый вечер. Помогите, пожалуйста, со следующим вопросом. Как сделать в документе, чтобы при внесении значений в двух столбцах они копировались в определенные (как бы сводные) столбцы? На пример, вбил значения в столбец «Январь» (С12, D12) и эти значения автоматически скопировались в столбец «1 Квартал» (то есть в I12 и в J12 соответственно), далее они же скопировались в «1 полугодие», в «9 месяцев», в «Год»? Также со столбцом "Февраль". Только, чтобы он копировался в «1 Квартал», «1 полугодие», «9 месяцев»,«Год» ниже, чем "Январь"  
Строчек очень много, в документе лишь малая часть и поэтому вручную это делать несколько проблематично. Применять формулу С12=I12 и потом растягивать тоже как-то хлопотно... Работаю в excel 2003.  
Заранее спасибо за помощь.
И еще раз про нумерацию....
 
Здравствуйте. Понимаю, что вопрос не раз поднимался, но, поискав по форуму, так и не нашел понятного для меня ответа ( в excel'е не слишком силен мягко говоря).  
Проблема такая: в столбце А идет нумерация строк через формулу =строка(a2)-1. Я растянул на нужный диапазон и вроде всё хорошо. При удалении строк нумерация не сбивается, а идет правильно. Но при добавлении строки, ячейка, где должен быть номер строки, пуста. Знаю, что проблема решается созданием списка (Данные-Список-Создать список, либо, если excel 2010, то создается талица). Но приходиться работать в excel 97, а там такого пункта меню нет.    
Подскажите, пожалуйста, есть ли какая формула или что-то еще, чтобы при добавлении строк нумерация автоматически проставлялась?
Страницы: 1
Наверх