Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 341 След.
Вытащить формулы из пользовательских функций
 
Цитата
bortnik27 написал:
там диапазон задается формулой
Ну я не знаю как еще донести. Может так? Именованные диапазоны
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Вытащить формулы из пользовательских функций
 
Вкладка Формулы -Диспетчер имен. Все там и в условном форматировании(Главная -Условное форматирование)
А пользовательских функций там нет в принципе.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Макросом вывести робочую книгу в защищеный просмотр
 
Скрытый текст
В защищенном режиме книга открывается лишь первый раз - как только кнопка "Разрешить редактирование" была нажата для файла - то он больше не будет открываться в защищенном режиме до тех пор, пока его не переместят в другую папку(только не через Сохранить как, а копированием средствами ОС) и эта папка при этом не будет находиться в надежных расположениях.
Да и в любом случае проблему медленной работы кода надо решать правильными методами, а не манипуляциями с доступом к книге. Ни к чему хорошему это в итоге не приведет.
Цитата
dxf написал:
сделано обновления экрана
а там еще отключение отслеживания событий есть, разбиение на страницы и т.д. Хоть бы попробовали сначала все отключить и посмотреть на скорость работы - так хоть понятно было бы что именно влияет.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Макросом вывести робочую книгу в защищеный просмотр
 
Пересчитывать можно только формулы в целевых диапазонах:
Код
Range("A1:A10").Calculate     'пересчитываем только диапазон ячеек А1:А10 на активном листе
Sheets(1).UsedRange.Calculate 'пересчитываем все используемые ячейки на первом листе активной книги
и т.п. А ввести файл в защищенный режим по факту нельзя(макросами, по крайней мере).
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Макросом вывести робочую книгу в защищеный просмотр
 
Цитата
dxf написал:
я хотел просто чтобы не сохранять а просто выводить в режим защищоный просмотр
Вам не это надо. Вам надо на время работы макроса отключать автопересчет формул, обновление экрана, отслеживание событий и т.п. Здесь описывал основные методы ускорения: Как ускорить и оптимизировать код VBA
Попробуйте сначала сделать как там описано, глядишь и пытаться вводить файлы в защищенный режим желание пропадет :)
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Список в сводной таблице, статичный список при применение фильтра
 
Цитата
ignat-erema написал:
Когда применяется фильтр
а значения для фильтра какие используются? Если в фильтре указываются конкретные значения - то только они и будут отобраны. Поэтому вопрос несколько непонятен.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Макрос: Почему при нажатии на кнопку "Отмена" выскакивает ошибка, а не отменяется макрос?
 
Сделайте проще: запомните все запрашиваемые через InputBox данные и записывайте их в ячейки только после того, как все InputBox-ы были успешно обработаны. Тогда и городить с отменами ничего не надо будет.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Макрос: Почему при нажатии на кнопку "Отмена" выскакивает ошибка, а не отменяется макрос?
 
Цитата
Zelen35 написал:
отменялось все что было введено во всех "InputBox" и закрывался макрос
поясните. Как это отменить одним INputBox все предыдущие и еще ЗАКРЫТЬ МАКРОС? А как его открыли? Если включить телепатию, то возможно вместо Exit Sub надо применить End:
Код
If StrPtr(x) = 0 Then End

Цитата
Zelen35 написал:
не совсем то что надо
все то, просто надо уметь это использовать :)
Изменено: Дмитрий(The_Prist) Щербаков - 22 Окт 2019 18:41:59
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Обратиться в макросе к уже открытой книге
 
Вам это не надо. Надо просто перестать активировать книги и начать обращаться к ним по "имени-отчеству", тогда никакие окна нужны не будут. Здесь пошаговая инструкция: Select и Activate - зачем нужны и нужны ли?
Изменено: Дмитрий(The_Prist) Щербаков - 22 Окт 2019 16:03:39
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
На другом ПК ругается на формирование сводной таблицы
 
Цитата
Esheron написал:
Это мало что даст,
ну с таким подходом и тему на форуме можно было не создавать - вдруг у нас код тоже работает?
Первым делом убедитесь, что Лист1 существует в принципе. На это больше всего похоже судя по ошибке.
Далее убедитесь, что сводной таблицы с именем "Tabl" еще нет в книге(хотя ошибка была бы другая). Так же убедитесь, что Лист1 не содержит другую сводную таблицу, которая может пересекаться с создаваемой(хотя там тоже ошибка другая обычно возникает). Тип файла тоже важен - должен быть точно не xls иначе Version:=6 будет выдавать ошибку.
Попробуйте код записать так:
Код
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:= _ 
       "Open PO!R1C1:R1048576C19").CreatePivotTable TableDestination:= _
        "Лист1!R3C1", TableName:="Tabl"
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
VBA номер текстового поля как переменная, Задать номер поля в макросе при помощи переменной
 
Как быстро заполнить/очистить элементы на форме(TextBox-ы, ComboBox-ы)
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
открыть последний файл в папке по дате создания
 
Ну раз описание такое "полное", то и ответ полностью по задаче. После
Код
Workbooks.Open (p)
пишите:
Код
ActiveWorkbook.Sheets(1).Usedrange.Copy Thisworkbook.sheets(1).Cells(1,1)
Будут скопированы все данные из первого листа последнего файла в первый лист книги с макросом.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Макросом вывести робочую книгу в защищеный просмотр
 
Цитата
dxf написал:
когда включен защищенный просмотр макрос работает
вопрос в том, что именно макрос делает - ведь в защищенном просмотре нельзя ни копировать ячейки, ни даже обратиться к самой книге. Может у Вас там просто идет в коде где-то перед открытием On Error Resume Next  и макрос просто ничего не делает, вот и получается быстрее?
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
На другом ПК ругается на формирование сводной таблицы
 
Цитата
Esheron написал:
ругается на формирование сводной таблицы
Вы бы хоть строку с ошибкой приложили и текст ошибки. Или нам сидеть и гадать что Вы там записали и где именно ругается?
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Макрос: Почему при нажатии на кнопку "Отмена" выскакивает ошибка, а не отменяется макрос?
 
InputBox всегда возвращает текст. ВСЕГДА. Поэтому проверять его на VarType(x) = vbBoolean бессмысленно. Поэтому правильно делать так:
Код
If StrPtr(x) = 0 Then Exit Sub
Здесь описывал работу с InputBox подробно: Работа с диалогами
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Как посчитать количество различий в столбцах
 
Цитата
SEModer написал:
В редакторе формул, результат правильный, но в самой ячейке пишет 0
потому что редактор умный и подозревает, что формула должна быть формулой массива, которая вводится в ячейку сочетанием 3-х клавиш: Ctrl+Shift+Enter.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
При помощи Find осуществить поиск по сцепленным двум столбцам, метод Find VBA
 
ну вот перед этой строкой и проверяйте:
c.Font.Bold = True
вместо неё написать что-то вроде:
Код
if c.offset(,2).Value = "второй критерий" Then
c.Font.Bold = True
end if
.offset(,2) - на два столбца правее от столбца с найденной ячейкой. Или так, чтобы не запутаться:
Код
if Cells(c.row,3).Value = "второй критерий" Then
Cells(c.row,3) - ячейка в третьем столбце той строки, где найден первый критерий.
Изменено: Дмитрий(The_Prist) Щербаков - 21 Окт 2019 09:24:45
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Как автоматически считать ккал и БЖУ при вводе названия продукта?
 
Цитата
BVP27 написал:
при условии, что я буду вводить только название продукта в столбец "Название продукта"
Функция ВПР - забейте в поиск или найдите про неё в разделе ПРИЕМЫ.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Теряется ссылка на объект Application после ошибки
 
Цитата
Aleksew написал:
чтобы этот объект восстановился без перезапуска?
1. Корректно обрабатывать ошибки
2. Вынести создание ссылка на App в отдельный модуль класса и при потере его восстанавливать.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
При помощи Find осуществить поиск по сцепленным двум столбцам, метод Find VBA
 
Нет. Нашли в одном - проверили значение на совпадение в той же строке, но в другом столбце.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Разрешить скрывать/отображать структуры на защищенном листе
 
Код
Sheets("Прайс2").Unprotect Password:="1" 'Снимаем защиту листа
здесь Вы пароль указываете. А почему Вы его не указываете при установке защиты? Ведь это делается так же:
Код
Sheets("Прайс2").Protect Password:="1", Contents:=True, UserInterfaceOnly:=True
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Удалить открытый файл без сохранения макросом из другой книги, с очисткой буфера обмена
 
А зачем его тогда сохранять вообще, если надо удалить? Закройте без сохранения и он сам исчезнет. Или поясните задачу конкретнее.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Как с помощью VBA добавить в ячейку текст с сохранением существуещего форматирования текста внутри ячейки?
 
Цитата
Jack Famous написал:
что это, если вкратце?
каждая ячейка имеет свою схему XML. Именно к ней обращаемся через Value(11). Далее просто вставляем текст с XML разметкой в нужное место и перезаписываем схему для ячейки.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Обновление сводной таблицы в excel, построенной на основе базы в sql
 
Если данные для сводной закидываются макросом через запрос SQL, то для обновления надо сформировать тот же запрос и обновить методом Refresh. Что-то вроде:
Код
Set objConn = CreateObject("ADODB.Connection")
objConn.ConnectionString = "строка подключения"
objConn.ConnectionTimeout = 15
objConn.CommandTimeout = 30
objConn.Open
Set objRecSet = CreateObject("ADODB.Recordset")
objRecSet.Open "SELECT  * FROM TableName", objConn
set oPT = ActiveSheet.PivotTables(1)
Set objPtCache = oPT.PivotTables(1).PivotCache
Set objPtCache.Recordset = objRecSet
objPtCache.Refresh
Стандартно через кнопку Обновить такой запрос обновить не получится.
Изменено: Дмитрий(The_Prist) Щербаков - 15 Окт 2019 10:26:16
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Power query выдает ошибку при динамическом названий столбца, Power query выдает ошибку при динамическом названий столбца
 
Если столбец с остатком всегда 6-ой по счету - то можно еще так сделать:
Код
let
    Источник = Excel.Workbook(File.Contents("C:\Users\d.saurbayev\Desktop\склад.xlsx"), null, true),
    Свод_Sheet = Источник{[Item="Свод",Kind="Sheet"]}[Data],
    #"Измененный тип" = Table.TransformColumnTypes(Свод_Sheet,{{"Column1", type any}, {"Column2", type text}, {"Column3", type any}, {"Column4", type any}, {"Column5", type any}, {"Column6", type any}}),
    #"Удаленные верхние строки" = Table.Skip(#"Измененный тип",2),
    #"Повышенные заголовки" = Table.PromoteHeaders(#"Удаленные верхние строки", [PromoteAllScalars=true]),
    ColNames = Table.ColumnNames(#"Повышенные заголовки"),
    colN = ColNames{5},
    #"Измененный тип1" = Table.TransformColumnTypes(#"Повышенные заголовки",{{"№", Int64.Type}, {"Наименование", type text}, {"Переходящий остаток 01.10.2019", Int64.Type}, {"Приход", Int64.Type}, {"Расход", Int64.Type}, {colN, Int64.Type}})
in
    #"Измененный тип1"
Тогда на дату уже ничего не завязано, но завязано на порядковый номер столбца.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Power query выдает ошибку при динамическом названий столбца, Power query выдает ошибку при динамическом названий столбца
 
Цитата
Ov198 написал:
когда наступит завтра
ну вот когда наступит завтра - мой запрос сработает. Но ЗАВТРА, когда системная дата будет равна дате в файле и соответственно в запросе.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Power query выдает ошибку при динамическом названий столбца, Power query выдает ошибку при динамическом названий столбца
 
Цитата
Ov198 написал:
в файле "склад"
Ну это Вы молодец, конечно. Но сегодня-то не 10 вроде. Вы же написали изначально:
Цитата
Ov198 написал:
в ячейке F3 всегда динамически меняется дата (прописана формула: ="Остаток"&ТЕКСТ(СЕГОДНЯ();"ДД.ММ.ГГГГ."))
а завтра допустим будет уже стоять 10.10.2019
вот завтра, если не менять формулу - 10-е и подтянется. А сегодня только 9-е, т.к. DateTime.LocalNow() возвращает текущую дату.
Опишите тогда нормально задачу, что ли, не опираясь на текущую дату что надо сделать со столбцами, помимо того, что просто получить? Всегда 6-ой столбец это остаток? Или это может быть любой столбец?
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Power query выдает ошибку при динамическом названий столбца, Power query выдает ошибку при динамическом названий столбца
 
Цитата
Ov198 написал:
А если изменить дату на 10.10.2019 вот что пишет.
а где изменили-то? Системную дату изменили и дату в файле? У меня работает с текущей датой.
Цитата
Ov198 написал:
куда вставлять код
Идете в изменение запроса -вкладка Главная -Расширенный редактор. Туда и вставляете.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Надстройка XML tools add-in, Где можно скачать данную надстройку?
 
Нормальные теги. В принципе подобные вещи можно и макросами писать, если навык есть.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Power query выдает ошибку при динамическом названий столбца, Power query выдает ошибку при динамическом названий столбца
 
Вообще как вариант для конкретно приложенного запроса, если надо делать именно на основании текущей даты:
Код
#"Измененный тип1" = Table.TransformColumnTypes(#"Повышенные заголовки",{{"№", Int64.Type}, {"Наименование", type text}, {"Переходящий остаток 01.10.2019", Int64.Type}, {"Приход", Int64.Type}, {"Расход", Int64.Type}, {"Остаток "&DateTime.ToText(DateTime.LocalNow(), "dd.MM.yyyy")&".", Int64.Type}})
собственно этот же принцип можно использовать и далее в запросе. Или можно использовать переменную для этого столбца:
Код
let
    Источник = Excel.Workbook(File.Contents("C:\Users\d.saurbayev\Desktop\склад.xlsx"), null, true),
    Свод_Sheet = Источник{[Item="Свод",Kind="Sheet"]}[Data],
    #"Измененный тип" = Table.TransformColumnTypes(Свод_Sheet,{{"Column1", type any}, {"Column2", type text}, {"Column3", type any}, {"Column4", type any}, {"Column5", type any}, {"Column6", type any}}),
    #"Удаленные верхние строки" = Table.Skip(#"Измененный тип",2),
    #"Повышенные заголовки" = Table.PromoteHeaders(#"Удаленные верхние строки", [PromoteAllScalars=true]),
    colname = DateTime.ToText(DateTime.LocalNow(), "dd.MM.yyyy"),
    #"Измененный тип1" = Table.TransformColumnTypes(#"Повышенные заголовки",{{"№", Int64.Type}, {"Наименование", type text}, {"Переходящий остаток 01.10.2019", Int64.Type}, {"Приход", Int64.Type}, {"Расход", Int64.Type}, {"Остаток "&colname&".", Int64.Type}})
in
    #"Измененный тип1"
так же можно динамически получать все имена столбцов из файла. Но для этого надо понимать какая задача в итоге решается.
Изменено: Дмитрий(The_Prist) Щербаков - 9 Окт 2019 18:26:50 (изменил пользователя в источнике на оригинал :))
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 341 След.
Наверх