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

Страницы: 1 2 След.
Общий хэш сводных таблиц, Как вернуть стандартное построение?
 
Уважаемые форумчане, прошу консультации.
У Николая есть в приемах статья, как разделить хэш сводных таблиц (https://www.planetaexcel.ru/techniques/8/2351/)
У меня же Excel начал "чудить" и сам, для каждой таблицы создает свой хэш. Как его заставить работать нормально. Данные идут из одного источника и мне как раз нужно, чтобы группировка у них работала синхронно
Когда испробованы все варианты, я начинаю плясать с бубном. Как правило — помогает.
Надстройка отключается, при закрытии Excel, Проблема после обновления
 
Николай, обновил себе наконец то надстройку. Последняя версия стояла 2018.1. Лицензию активировал. Надстройку положил в \AppData\Roaming\Microsoft\AddIns.
Вроде все по уму. Она подключается, но каждый раз, когда я полностью закрываю Excel, вкладка PLEX исчезает.
Причем я захожу в пункт Надстройки, галочка напротив Plex стоит. Помогает только снять ее, и поставить заново. Тогда вкладка вновь появляется.
Когда испробованы все варианты, я начинаю плясать с бубном. Как правило — помогает.
Как заставить функцию вернуть значение, а не просто выполниться
 
Уважаемые форумчане, можете пожалуйста помочь разобраться. Особо фунции не пишу, а тут пришлось. Я хочу чтобы в переменную вернулось значение, расчитанное внутри функции. Но она не заполняется. Т.е. моя переменная strMonth все-равно остается пустой.
Код
Private Function WhatMonth(ByVal funcM As Byte) As String
    Select Case funcM
        Case Is = 1
            strM = "Январь"
        Case Is = 8
            strM = "Август"
    End Select
End Function

Sub test()
    Dim myDate As Date
    Dim m As Byte
    
    myDate = Date
    m = Month(myDate)
    
    strMonth = WhatMonth(m)
End Sub
Когда испробованы все варианты, я начинаю плясать с бубном. Как правило — помогает.
Обработчик ошибок при защищенной книге, Можно ли вместо стандартной подписи подставить свою
 
Вопрос у меня следующего характера. Есть лист с данными и лист со сводной. Мне нужно, чтобы смотреть чисто данные могли только определенные пользователи. Поэтому лист с данными по умолчанию скрою, поставлю пароль на структуру книги. Пароль делается потому что в сводной таблице двойным кликом можно провалиться внутрь, и даже если ты не видишь лист с данными, то Excel создаст тебе подобный же лист. Защита на структуру не дает этого сделать. Но сам вопрос у меня в следующем:
Если защита не снята, то при попытке провалиться внутрь сводной идет ошибка "Книга защищена и не может быть изменена". Можно ли это событие (проваливание в сводную) перехватить и выдавать свою ошибку. Просто потому что хочу написать "Вы раскрыть список не можете, для получения доступа обратитесь к такому то менеджеру) ?
Когда испробованы все варианты, я начинаю плясать с бубном. Как правило — помогает.
Python как замена VBA, Microsoft рассматривает возможность задейсвовать Python в качестве своего скриптового языка
 
Собственно вот ссылка на первоисточник (https://www.bleepingcomputer.com/news/microsoft/microsoft-considers-adding-python-as-an-official-scr...)

Как признанные гуру смотрят на потенциальную замену VBA (я не буду говорить, что он скоро умрет. Это ему уже давно обещают), но все же стоит признать, что функциональность Python будет шире. Он конечно и сейчас может обрабатывать листы Excel через библиотеки xlrd, xlwt, но например редактирование сводных, графиков, это пока невозможно (по крайне мере мне не известно).
Если будет возможность нажав Alt + F11 перейти в окно разработки и просто писать код, так же, как мы это делаем сейчас на VBA. Обрадует ли вас подобное?
Когда испробованы все варианты, я начинаю плясать с бубном. Как правило — помогает.
Работа с выделенными письмами в Outlook, Пишу код внутри Outlook
 
Уважаемые форумчане. Есть ли среди вас те, кто имеет пусть небольшой опыт в написании макросов для Outlook. Лично у меня пока имеется первая нерешенная задача. Пытаюсь передать в объектную переменную выделенное письмо. Не открытое, а просто активное. Далее хочу его либо отметить как прочитанное, либо если сегодня 1-е число, то удалить.
Проблема в том, что я даже не знаю, как передавать в объект активное письмо. Прописать Selection, как в Excel не получается. Пока пытаюсь хотя бы отметить его как прочитанное.
Код
Sub test()
    Dim objOL As Outlook.Application
    Dim objMail As MailItem
    Dim myBody As String
    
    Set objOL = Outlook.Application
    Set objMail = objOL.ActiveInspector.Selection
    objMail.UnRead = False
End Sub
Когда испробованы все варианты, я начинаю плясать с бубном. Как правило — помогает.
Найти полное название файла, зная только его часть
 
Уважаемые форумчане. Сможете, пожалуйста подсказать. Если я знаю, что по пути C:\Temp| лежит файл Excel, который начинается со слова Отчет_, он один там такой. Можно ли узнать его полное название?
Когда испробованы все варианты, я начинаю плясать с бубном. Как правило — помогает.
Учет разницы между двумя датами (во временном формате)
 
Уважаемые форумчане. Что-то я сегодня не могу простого действия добиться. Есть две переменные;
Start="01.01.2017 09:00:00"
End="03.01.2017 18:27:31"
Result =

Мне нужно получить, в формате времени, какова разница между ними. Т.е. в данном случае Resul=57:27:31
По поиску меня все ведут к Datediff. Но там я получу разницу только в одном измерении (минуты, секунды). А как это вывести в стандартном формате времени?
Изменено: Abakumov - 01.03.2017 12:14:46
Когда испробованы все варианты, я начинаю плясать с бубном. Как правило — помогает.
Проверка существования элемента сводной таблицы
 
Уважаемые форумчане, задался одним вопрос. У меня в коде идет сортировка сводной по нужному мне алгоритму. Сам перенос позиции делаю через следующую строку:
Код
shtAP.PivotTables("Pivot_ALL_rate").PivotFields("decline_reason").PivotItems("Issued").Position = 7
Т.е. в данном случае, в таблице Pivot_ALL_Rate в столбце decline_reason строку Issued я ставлю на 7 позицию. Но у меня возможны случаи, когда после выгрузки такой строки вообще не будет. Соответственно строка будет выполнена с ошибкой. Могу конечно задействовать ON Error, но все же, можно ли как-нибудь проверить существование элемента сводной?
Когда испробованы все варианты, я начинаю плясать с бубном. Как правило — помогает.
Корректность работы функция ПРЕДСКАЗ.ETS
 
Уважаемые форумчане. Проверял ли кто-нибудь корректность расчетов новой функции в 2016 версии. Только установили на работе новый Excel. Смотрю новинки. Сделал прогноз ряда по методу экспоненциального сглаживания обычной формулой. В справке указано, что эта функция как раз должна делать подобное. Но расчеты не сходятся. Плюс не знаю. Какой коэффициент сглаживания в ней задействован. Попробовал все с 0,1 по 1 (использовал только 1-но значение после запятой)
Когда испробованы все варианты, я начинаю плясать с бубном. Как правило — помогает.
Баг с функцией CBR, Ошибку поправил сам
 
Николай, когда то давно в 28.08.2013 году я писал о неработоспособности данной функции. В то время просто проверял как все работает, функция была не нужна и благополучно забыта. Сегодня мне это, как ни кстати, очень понадобилось. Функция выдает 0 по всем значениям.
Возможно это связано с региональными настройками, настройками браузера... Полез в код. Ноль идет по этому куску
Код
CBR = CDbl(outstr)
Переменная outstr, у меня, в текстовом формате, разделитель запятая.
Я это поправил маленьким костылем.
Код
outstr = Replace(outstr, ",", ".")
CBR = CDbl(outstr)
Так все нормально отрабатывает. Видимо что здесь, все-таки, есть какой-то нюанс, который желательно в следующих версиях учесть.
Когда испробованы все варианты, я начинаю плясать с бубном. Как правило — помогает.
Запуск VBS из VBA с аргументом, Как запустить cscript.exe и передать ему аргументом VBS-ку
 
Уважаемые форумчане, прошу помощи со следующим вопросом. Есть возможность запускать VBS из VBA. В гугле такого много, например так:
Код
CreateObject("WScript.Shell".Run "C:\Myfile.vbs"
Но у меня проблема несколько иная. Через VBS я делаю выгрузку из базы SAS. И просто так работать не будет, если не использовать cscript.exe.
Сейчас делаю так: в Task Scheduler делаю стандартную задачу, где пишу запуск EXE-шника (по стандарту лежит на диске С), а аргументом передаю адрес VBS.
[img]file:///Y:/%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80.PNG[/img][img]file:///Y:/%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80.PNG[/img]Все работает, все довольны. Но все же, можно ли подобное запустить через код VBA ?
Не получается загрузить изображение, прилагаю пример, как устроено в Task Scheduler.
Изменено: Abakumov - 01.07.2016 17:11:43 (Не получилось изображение загрузить)
Когда испробованы все варианты, я начинаю плясать с бубном. Как правило — помогает.
Нормированная гистограмма с накоплением, Очень странное отображение данных на гистограмме
 
Уважаемые форумчане. Задаюсь следующим вопросом. Имеются данные, где два ряда, в сумме дают 100%. При этом на графике они распределены практически 50/50. Разве это нормально. По моему мнению, (в моем примере) ряд B должен занимать узенькую полоску, практически незаметную.
 
Когда испробованы все варианты, я начинаю плясать с бубном. Как правило — помогает.
Определение типа переменной
 
Уважаемые формучане, вопрос легкий, скорее всего. Но я почему то в ступоре сижу. Не выполняется строчка
Option Explicit

И Double попробовал и Currency. Не хочет и все
Код
Sub test()
    Dim a As Long
    
    a = 10000 * 4
End Sub
Когда испробованы все варианты, я начинаю плясать с бубном. Как правило — помогает.
Очистка ленты надстроек от ненужных кнопок, Как удалить старые кнопки от надстроек
 
Добрый день, уважаемые форумчане. Моя небольшая проблема следующая. На одном из форумов (сейчас уже не могу вспомнить где) скачал как то себе надстройку для abc-анализа. Поюзал пару часов, не понравилась удалил. Было это уже более месяца назад. И только сейчас заметил, что во вкладке НАДСТРОЙКИ остались все кнопки от нее. При этом саму надстройку я отключил и удалил. Нажатие на кнопки вызывает ошибки, что надстройка не найдена (что логично).
Вопрос следующий, как можно очистить панель от этих кнопок?
Изменено: Abakumov - 03.02.2016 11:11:01
Когда испробованы все варианты, я начинаю плясать с бубном. Как правило — помогает.
Открытие документа Excel через vbs
 
Доброго всем дня. Очень надеюсь, что среди знатоков есть специалисты по данному языку.
Проблема у меня следующая. Требуется в vbs-скрипте прописать процедуру открытия книги и запуска макрос. С этим справиться удалось.
Код
Option Explicit
Dim app, ChangePhonesFolder, ChangePhonesFileName, inChangePhonesFullFileName, InFolderName, objExcel
Dim f, s, b, i, my_time, logs

set objExcel = CreateObject ("Excel.Application")
app="С:\EXT\UnZip.xlsb"

on error goto 0: TI_Avaya()

sub TI_Avaya()
   objExcel.Visible = true
        objExcel.Workbooks.Open (app)
   objExcel.run "Time_Indicators"
   objExcel.Workbooks("UnZip.xlsb").Close (true)
objExcel.Quit
end sub

Но вот как открыть документ, в режиме редактирования, если стоит соответствующий пароль. Метод vbа
Код
objExcel.Workbooks.Open (app, writerespassword:="123")
тут не подошел.
Когда испробованы все варианты, я начинаю плясать с бубном. Как правило — помогает.
Редактирование диаграммы в Power Point
 
Уважаемые формучане, по работе часто требуется переносить данные из готового шаблона Excel в презентации. С макросами (для своих нужно) сносно работаю, но вот задействовать два различных приложения еще не приходилось.
Проблема в следующем. Пытаюсь средствами vba скопировать график на лист презентации. (Презентация создается с нуля). Скопировать получилось, но хотелось бы растянуть ее на большую площадь. Можно ли где-то изменить свойства?
P.S.
Для работы макроса, нужно чтобы были подключены библиотеки Microsoft PowerPoint 11.0 Object Library. И Microsoft Scripting Runtime
Код
Sub test()
    Dim ppApp As PowerPoint.Application
    Dim ppPres As PowerPoint.Presentation
    Dim ppSlide1 As PowerPoint.Slide, ppSlide2 As PowerPoint.Slide
    
    ' запуск PowerPoint.
    Set ppApp = CreateObject("Powerpoint.Application")
    ' сделать видимым.
    ppApp.Visible = True
    ' создать новую презентацию.
    Set ppPres = ppApp.Presentations.Add(msoTrue)
     ' создать пустой слайд.
    Set ppSlide1 = ppPres.Slides.Add(1, ppLayoutBlank)
    'Копируем диаграмму в PowerPoint
    ThisWorkbook.Worksheets(1).ChartObjects("Диаграмма 1").Copy
    Set chart1 = ppSlide1.Shapes.PasteSpecial(ppPastePNG)

End Sub
Изменено: Abakumov - 14.08.2015 17:23:26
Когда испробованы все варианты, я начинаю плясать с бубном. Как правило — помогает.
Удаление лишних стилей
 
Николай, сегодня заметил, данная операция не работает, если файл расшаренный
Когда испробованы все варианты, я начинаю плясать с бубном. Как правило — помогает.
Изменение параметров градиентной заливки макросом, Возможно ли это вообще?
 
Уважаемые формучане. Попытался для одного своего дашборда создать заполняемую шкалу. Для начала пошел через градиентную заливку фигуры. Показалось что это проще. Раньше никогда через макрос форматы объектов не менял (только ячейки перекрашивал). В прошлом, в подобных случаях спасал макрорекодер, хотя бы понимал, какие параметры меняются, но теперь он постоянно только записывает, что фигура видима.
Возможно ли через макрос изменять положение градиента? Вижу в свойствах, что он в процентах. В примере пытаюсь сдвинуть синий фон в фигуре направо, до 90%.  
Когда испробованы все варианты, я начинаю плясать с бубном. Как правило — помогает.
Отследить изменение определенной сводной таблицы
 
Добрый день, уважаемые форумчане. Потребовалось мне в моем коде делать определенные действия, при изменении данных на листе (а именно данных фильтра сводной). Сделал через
Код
Private Sub Worksheet_Change(ByVal Target As Range)
    For Each cell In Target
        If Not Intersect(cell, Range("A1:A5")) Is Nothing Then
            'сам код действия
        End If
    Next cell

End Sub
Но в итоге, поскольку из-за этого меняются прочие данные, то каждое изменение влечет за собой по новой запуск процедуры. Конструкция
Код
If Not Intersect(cell, Range("A1:A5")) Is Nothing Then
конечно спасает, но зависание документа видны.
Сам вопрос, можно ли привязать данные к изменению данных сводной, возможно немного разгонит операции. Но там проблема что на листе несколько сводных. Попробовал сделать что-то вроде
Код
Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
    For Each PivotTable In Target
        If Not intercect(PivotTable, "BALANCE1") Is Nothing Then ' "BALANCE1" — это название сводной
        End If
    Next PivotTable
End Sub
Но в таком виде конструкцию If Not не принимает.
Можно ли в коде отследить изменение одной таблицы?
Когда испробованы все варианты, я начинаю плясать с бубном. Как правило — помогает.
Отображение знака ")" в виде смайла
 
Всем добрый день. У меня одного подобная проблема или нет? Если я пытаюсь написать, ну например формулу СУММ(A1+A2). То вместо последней скобки, у меня в сообщении получается улыбающийся смайл. Причем не только с этим. Формула вида ВРЕМЯ(10; ;) , в итоге даст мне знак подмигивающего смайла. Можно ли как-то это автоопределение отключить?
Изменено: Abakumov - 18.12.2014 11:04:26 (Вот и сейчас он знак ; ) перевел. Помогает, только если пробел между символами сделать)
Когда испробованы все варианты, я начинаю плясать с бубном. Как правило — помогает.
Странные надписи по поводу обновления версии, Проблема не серьезная, т.к. на сам функционал никак не влияет
 
Нажал недавно в первый раз на кнопку "Проверить наличие обновлений"
Когда испробованы все варианты, я начинаю плясать с бубном. Как правило — помогает.
Вопрос по расчете экспонеционального тренда
 
Уважаемые форумчане, сегодня вот разбираюсь со статистикой, которую можно будет использовать в работе. Линейный и Логарифмический осилил, не могу разобраться с последним. Как мне подсказывает Excel в моем случае, формула тренда y=7651.8*e^0.0203x. x=периодам. A & K рассчитываются по формулам. Вопрос, что такое "e", как мне правильно рассчитать показатели эспонеционального тренда?
Попробовал по формуле, но видимо "е" - это не известные значение. Да и по графику вижу, что первое значение тренда меньше 8000, а у меня получается больше 9000.
Приношу заранее извинения, поскольку вопрос больше касается вопросов теории статистики, но столкнулся именно при работе с Excel, и уверен, что здесь люди знающие. Поэтому обращаюсь за помощью.
Когда испробованы все варианты, я начинаю плясать с бубном. Как правило — помогает.
Интересный баг в Excel, При защите на редактировании Excel оставляет сразу несколько паролей
 
Уважаемые форумчане, наткнулись недавно с коллегими случайно на такой случай. Вот документ Excel, при сохранении поставил пароль на изменения 852.
При этом, он позволяет открывать его еще и через 012. Возможно еще есть комбинации. Сталкивался ли кто-нибудь с подобным? У кого есть какие комментарии?
Когда испробованы все варианты, я начинаю плясать с бубном. Как правило — помогает.
Есть ли среди нас обладатели Surface?
 
Уважаемые форумчане. Прекрасно осознаю, что сайт здесь совершенно другой, заранее прошу прощения у Модераторов (коль удалят, то так оно и надо). Но срабатывает у меня рефлекс, как у собаки Павлова, почти всегда тут помощь нахожу. Купил себе это чудо (Surface Pro 2). Очень доволен (был). Вот только вчера вечером перестал он у меня определять мой Wi-Fi. Соседские все видит, а вот мой нет. При этом с роутером все в порядке (на телефоне проверил). Сегодня днем, пока на работе вроде нашел несколько форумов, не я первый с этой проблемой (вечером буду пробовать кто что пишет). Но очень прошу, если у кого он есть, и возможна была похожая ошибка, сообщить способ решения.
Когда испробованы все варианты, я начинаю плясать с бубном. Как правило — помогает.
Отображение даты в правильном формате на TextBox
 
Доброе утро, уважаемые форумчане. Прошу у Вас помощи в следующей проблеме. Создаю свою userform. На нем использую три Textboxа. При активации формы, даты автоматически туда прописываются. Проблема только одна. Частенько дата там отображается не формате "28.10.2000", а в "10/28/2000". А иногда и правильно все пишет, не могу понять от чего это зависит. Конечно и так все понятно, но пользователям то удобнее все видеть в привычном формате. Есть ли способ решить данную проблему?
Когда испробованы все варианты, я начинаю плясать с бубном. Как правило — помогает.
Цикл While Wend не работает при запуске из сетевой папки, Прошу только дать пояснения по незнакомой строке
 
Уважаемые форумчане, у меня есть рабочий макрос (собран из двух разных, найденных на разных форумах). Все работает, но для меня совершенно непонятна одна строка:
Код
'это мне понятно, задаем объект, открываем IE
Set IE = CreateObject("InternetExplorer.Application")
    IE.Visible = False
'может мне кто-нибудь пояснить, что он делает вот в этой строке
While IE.Busy Or (IE.ReadyState <> 4): DoEvents: Wend

Про цикл у Уокенбаха написано только то, что он введен для обеспечения совместимости и "вы вряд ли встретите его на практике"

Лично у меня возникла проблема, что макрос нормально выполняется, будучи на компе, но если его запускать с сетевой папки, то, он там зацикливается на этой строке. А может и нет, поскольку цикл незнаком, то, не могу понять, бесконечный ли это цикл или просто длинный.
При этом я проверял, макрос выполняется и без этого цикла, но стирать опасаюсь, может он на что-то важное привязан.
Когда испробованы все варианты, я начинаю плясать с бубном. Как правило — помогает.
Закрытие браузера через VBA, Разбирал макрос Павлова по выгрузке курса валют, не могу понять как закрыть EI
 
Добрый вечер уважаемые форумчане. Разбирал сегодня код для выгрузки валюты: http://www.planetaexcel.ru/techniques/3/53/. И все уже вроде подбил под свои нужны, кроме одного. По окончанию работы остается открытым окно браузера. По поводу включения я понял:

Код
Set IE = CreateObject("InternetExplorer.Application")
    IE.Visible = True
 
Как его закрыть, по окончанию работы? IE.Close точно не сработала
Когда испробованы все варианты, я начинаю плясать с бубном. Как правило — помогает.
Функция КОНМЕСЯЦА через VBA
 
Уважаемые форумчане, пытаюсь найти, есть ли в VBA функция, для того, чтобы она могла находить последний день месяца, основываясь на конкретном дне. Например 05.10.2014, результат будет 31 (она последняя дата в Октябре). Знаю фукцию Day, но она вычисляет конкретный день из даты. Можете подсказать? Если подобная функция есть, сразу вопрос, нормально ли он работает с високосным годом?
Когда испробованы все варианты, я начинаю плясать с бубном. Как правило — помогает.
Импорт данных из интернета
 
Уважаемые форумчане, возник следующий вопрос:
Подгружаю в Excel данные с интернет страницы. Подгружаю стандартными методами, через Данные/Из Интернета. Все норм.
Далее, лезу в свойства и ставлю обновление каждые 10 минут. Тоже все отлично срабатывает.
Теперь сам вопрос. Можно ли проставить период обновления менее 1-й минуты ? Разумеется я понимаю что это возможно прописать макрос, но при этом я вынужден буду постоянно сидеть с работающим макросом. Это была бы небольшая беда, лишняя "машина" для этого имеется, но все-равно через некоторое время Excel начинает умирать. Возможно ли прописать период обновления меньше 1-й минуты без использования макросов?
Когда испробованы все варианты, я начинаю плясать с бубном. Как правило — помогает.
Страницы: 1 2 След.
Наверх