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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 341 След.
Макросом вывести робочую книгу в защищеный просмотр
 
Цитата
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 (изменил пользователя в источнике на оригинал :))
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Значок "есть новые сообщения" и темы, в которых принимается участие
 
Цитата
vikttur написал:
сразу же должен сам себя забанить за  грубое нарушение п.3.3 правил форума
Но ведь можно же будет потом это обжаловать у Админиистратора?  ;)  
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Проблема при работе PasteSpecial в 2013 Excel VBA. Ошибка PasteSpecial
 
Дружит :)
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Как запустить фильтрацию сводных таблиц по именованным диапазонам
 
Цитата
Olga H. написал:
Выделила ячейку в таблице,
еще раз: в какой именно? Надо в СВОДНОЙ. Т.е. той, которая создана через вкладку Вставка -Сводная таблица.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
макрос excel на анализ входящей почты outloock и отправку файла excel
 
Цитата
Anchoret написал:
определенной группе рассылки
вот тут ХЗ. Написано, что надо почту и подразделение - а где это подразделение взять не очень понятно. То ли это действительно группа, то ли это где-то в таблице соответствия адресов все записано...
Но адрес даже Exchange можно получить. Писал когда-то для этого специально функцию:
Код
'---------------------------------------------------------------------------------------
' Function: GetEmailAddress
' Author  : The_Prist(Щербаков Дмитрий)
'           Профессиональная разработка приложений для MS Office любой сложности
'           Проведение тренингов по MS Excel
'           https://www.excel-vba.ru
'           info@excel-vba.ru
' Purpose:  получает адрес отправителя(даже если это Exchange)
'---------------------------------------------------------------------------------------
Public Function GetEmailAddress(mail As Object) As String
    Dim oMail As Object
    On Error Resume Next
    Set oMail = mail
    If TypeName(oMail) = "MailItem" Then
        If oMail.SenderEmailType = "EX" Then
            GetEmailAddress = oMail.Sender.GetExchangeUser.PrimarySmtpAddress
        Else
            GetEmailAddress = oMail.SenderEmailAddress
        End If
    Else
        GetEmailAddress = "Not a MailItem"
    End If

    Set oMail = Nothing
End Function
в функцию передаем объект письмо(MailItem), но можно и любой другой, просто функция вернет не адрес, а "Not a MailItem".
Но, к слову говоря, метод GetExchangeUser имеет разные свойства. Оттуда можно и отдел и департамент получить, и телефон, если они записаны для адресата.
Изменено: Дмитрий(The_Prist) Щербаков - 8 Окт 2019 18:54:55
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
макрос excel на анализ входящей почты outloock и отправку файла excel
 
Цитата
Anchoret написал:
таблицы из Excel вставленные в тело письма в HTML формате
ну это да. Но зависит все от того, какая информация нужна будет из письма. Ни разу не встречал ситуацию, когда нужно было выдернуть из письма таблицу со всем форматированием :) Да и судя по описанию планируется не таблицу в письмо вставлять, а файл Excel.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Проблема при работе PasteSpecial в 2013 Excel VBA. Ошибка PasteSpecial
 
Цитата
qwerty64 написал:
во 2 варианте, видимо, пропущен .paste?
нет, ничего не пропущено. Надо писать в одну строку. Сразу после Copy указывается диапазон для аргумента Destination(есть такой у метода Copy). Можно определить его и явно:
Код
Cells(1,1).Resize(10, 1).Copy Destination:=ThisWorkbook.Sheets(1).Cells(5,1)
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
макрос excel на анализ входящей почты outloock и отправку файла excel
 
Цитата
БМВ написал:
если в о входящих несколько тысяч сообщений, то …..
то лучше отбирать при помощи SQL DASL - здесь показывал пример: Как можно ускорить обработку писем из почты?
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
макрос excel на анализ входящей почты outloock и отправку файла excel
 
Цитата
Anchoret написал:
Все содержимое писем в Outlook в HTML формате
нет. Есть просто .Body - это текст письма без разметки. Там хоть и будут присутствовать определенные теги(вроде href) - но в основном это будет чисто текст, который парсить в некоторых случаях куда проще. А есть и .HTMLBody - это с полноценной разметкой HTML.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
HB
 
Алексей, с днюхой! Желаю крепкого здоровья, остроты мысли и нескончаемого оптимизма!
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Проблема при работе PasteSpecial в 2013 Excel VBA. Ошибка PasteSpecial
 
Цитата
Wiss написал:
если через массив копировать
ТС в самом первом сообщении еще написал, что делал через rng1.Value = rng2.Value, но спец.вставка используется не только в одном коде и все переделывать весьма затратно :)
Кстати, есть и еще одна причина отказываться от массива или присвоения значений диапазону посредством .Value = .Value: если диапазон большой, можно получить ошибку Out of memory, т.к. временный массив может просто не поместиться в доступную память. Дабы не питать надежд: .Value = .Value имеет тот же принцип(просто на лету создается временный виртуальный массив и все).
Раз проблема ясна и есть даже патч, то скорее всего с наскоку её без этого самого патча не решить. Но можно попробовать поизголяться. Например, так:
Код
Cells(1,1).Resize(10, 1).Copy
DoEvents
ThisWorkbook.Sheets(1).Cells(5,1).PasteSpecial xlPasteValues
так же можно попробовать пойти и более длинным путем:
Код
Cells(1,1).Resize(10, 1).Copy ThisWorkbook.Sheets(1).Cells(5,1)
ThisWorkbook.Sheets(1).Cells(5,1).Resize(10, 1).ClearFormats
чисто хотя бы для того, чтобы понять: проблема только в PasteSpecial или во вставке в целом.
Изменено: Дмитрий(The_Prist) Щербаков - 8 Окт 2019 17:37:56
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Проблема при работе PasteSpecial в 2013 Excel VBA. Ошибка PasteSpecial
 
Цитата
qwerty64 написал:
вставляет данные не в тот диапазон
а в какой, если не в тот? Вижу точку перед .Cells - к чему она относится? Где записан код: в модуле листа, книги, стандартном?  
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Проблема при работе PasteSpecial в 2013 Excel VBA. Ошибка PasteSpecial
 
Вы бы хоть код показали. По одному описанию ничего подсказать нельзя - Вы все сами уже нашли.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 341 След.
Наверх