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

Страницы: 1
ВПР + именованный диапазон, Использование "плавающего" имени диапазона в качестве параметра ВПР
 
День добрый.

Подскажите, как-то можно в функцию ВПР передавать именованный диапазон строкой?
Приложил пример.

Имеется 3 именованных диапазона. В зависимости от колонки "Index", параметр "Таблица" функции ВПР должен меняться на одноименный.

В столбце С я выбирал имена из списка - все работает
В столбце D строка - и ошибка.

Может кто подскажет, как победить.
Заранее благодарен
Вызов процедуры книги из надстройки
 
Коллеги, такая ситуация. Не могу вызвать из надстройки процедуру модуля открытой книги.

Пробовал и так
ИмяМодуля.ИмяПроцедуры
И так
ActiveWorkbook.ИмяМодуля.ИмяПроцедуры

Это вообще возможно?
дополнение. так то ж не видит
Application.Run ActiveWorkbook.Name & "!ИмяПроцедуры"
Изменено: Grr - 16.08.2019 12:47:02
ClipBoard перестал работать., Помогите найти проблему
 
Доброго времени суток.
Стабильно работающий макрос, одной из функциональностью которого является вставка на форму данных из буфера обмена, после переустановки операционки перестал работать.

Ругается на эту строку
Код
Set objClipBoard = CreateObject("new:{1C3B4210-F441-11CE-B9EA-00AA006B1A69}")
Возможно, в новой операционке этот объект создается другим "магическим" набором букв и цифр?

Win7 64bit ServicePack 1
MS Office 2016 (16.0.4266.1001)
Парсер сайта на VBA с постоянным обновлением страницы
 
Доброго времени суток.

Друг попросил помочь. А я не сильно искушен в данной теме.
Суть его "хотелки". Есть сайт. Разметка не сложная заголовок и таблица. Предварительная авторизация без капчи.
В таблице появляются заявки. Надо успеть нажать "Выполнить".

Собственно нужно понимание возможно ли на VBA реализовать алгоритм постоянного обновления открытой страницы?
Как авторизироваться и нажимать программно кнопки я "нагуглил"

Возможно, Excel не самый подходящий инструмент для этих целей...

Заранее благодарен.
Словарь словарей
 
Доброго времени суток.

Пытаюсь освоить новую конструкцию - Словарь словарей.
И у меня не получается.
Есть два словаря: Основной (Dic_Main) и переменный (Dic_Level).
Так вот когда я добавляю записи в основной, то для всех ключей значением прописывается последняя "версия" промежуточного словаря.

Очищаешь промежуточный, очищается значение в основной словаре уже присвоенное ключу.
Что я делаю не так? В поиск ходил, не помогло.
Теряются свойства объекта "InternetExplorer.Application"
 
Доброго времени суток.

Начал осваивать тему получения данных с сайтов. В качестве первой задачи решил взять следующую:
Есть корпоративный сайт / сервис. На нем кнопка "Получить данные". Нажатие которой и некоторое ожидание выдает таблицу.
Данные этой таблицы хочу забирать в Excel.

Нашел пример. Пробую работать.
Так вот. После вот этой строчки
Цитата
IE.Navigate "http://xx.xx.xx.xxx/ssssss/
Открывается Explorer c сайтом. Но при этом объект IE теряет все свойства. Попытки обращения к .Busy или .Document выдают ошибки.
Как правило: "Выбранный объект был отключен от клиентов".

Подскажите, что я делаю не так, в чем может быть причина.

Office 2013. Explorer 11

UPD Прикладываю фрагмент кода
Код
    Dim i As Long
    Dim IE As Object
    Dim objElement As Object
    Dim objCollection As Object
 
    Set IE = CreateObject("InternetExplorer.Application")
  
    ' Send the form data To URL As POST binary request
    IE.Navigate "http://xx.xx.xx.xxx/ssssss/"
 
     ' Wait while IE loading...
    Do While IE.Busy
        Application.Wait DateAdd("s", 1, Now)
    Loop

    Set objCollection = IE.document.getElementsByTagName("input")

    i = 0
    While i < objCollection.Length
Строка 16 всегда ошибка
Изменено: Grr - 15.10.2015 07:17:24
Наименование компонента, отражающего список методов объекта
 
Доброго времени суток.

Коллеги, в VBA редакторе для объекта, например Application, после ввода точки появляется список доступных свойств и методов.
Как называется компонент, который отрисовывает этот список? Ну, или его аналог.

Есть задумка реализовать похожий ввод через точку в одном проекте.
Заранее благодарен
Словарь массивов. Как изменить данные, Не могу в массиве, указанном как значение для ключа словаря, изменить данные.
 
Доброго времени суток.
Наткнулся в интернете, кто-то вскользь упомянул, что использует в работе словари, значениями которых являются массивы.
Заинтересовался. Оказалась весьма удобная конструкция. Начал переписывать модули файла.

Все было хорошо пока дело не дошло до момента, когда возникла необходимость изменить значения в массиве.
Что-то я не могу победить этот момент.

Выкрутился так: по ключу считывал данные в промежуточный массив. Менял в нем значения
Удалял ключ из словаря. И добавлял его же, но с новым массивом.
Все работает, но полагаю должен быть способ напрямую присваивать массив, либо редактировать его.

Хочется, чтоб все было красиво.
Подбор значений для заполнения реквизита формы, Прошу совета как организовать подбор
 
Доброго времени суток.
Не могу решить как лучше организовать подбор значений. Ситуация следующая.

Сейчас реализован функционал, вызывающий форму, на которой в зависимости от настроек создаются лейблы и текстбоксы.
То есть изначально форма пустая. В момент открытия создаю объекты, меняю размер формы.
Так вот сейчас пользователи вводят информацию вручную. После закрытия формы она обрабатывается.

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

Вопрос, как правильней организовать вызов этой формы?
Рядом с текстбоксами генерить еще и кнопку?
Или через комбобокс пробовать перехватывать событие ?

Заранее благодарен
Сводная таблица. При создании ошибка Type mismatch., Не создается сводная таблица при большом объеме данных.
 
Доброго времени суток.
Задача, которая стоит передо мной - сверка двух отчетов. Отчеты выгружены в файлы Excel.
Я разработал макрос, посредством которого указываются оба файла. Происходит чтение файлов, обработка данных, получение итогового массива  данных.
Полученный массив данных, я вывожу на лист и строю сводную таблицу, показывающую разницы в нужных разрезах.

Часть подразделений, данные которых в итоговом массиве не превышают 10k строк, обрабатываются корректно.
А вот когда итоговый массив большой (проблемы начались на 300 k) выскакивает ошибка
"Run-time error 13"  Type mismatch.
Проблемная строка:
Код
ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, SourceData:=DataRng, Version:=xlPivotTableVersion12).CreatePivotTable TableDestination:=wsPvtTbl.Range("A2"), TableName:="PivotTable1", DefaultVersion:=xlPivotTableVersion12
Думаю, дело в DataRng. Так как все остальное константы. Но почему на одних данных все хорошо, а на большем объеме возникает проблема, не пойму.
Посоветуйте / подскажите что не так. В чем загвоздка.

Полный код создания сводной таблицы:
Скрытый текст
Изменено: Grr - 11.08.2014 11:29:07
ListBox. Снятие / установка галочки по двойному клику
 
Доброго времени суток.
Поискал, но не нашел.
Подскажите, существует ли возможность у LIstBox-а задать свойства так, чтоб в интерактивном режиме галочка снималась не одинарным кликом, а двойным кликом, к примеру?
Задача такая. Есть на форме два элемента Listbox. При открытии формы макросом наполняется первый. У всех строк Selected = True.
Затем перемещаясь по элементам списка, я планирую фильтровать внутренний массив и заполнять полученными значениями второй ListBox.
На других закладах я блокировал вызов стандартного обработчика Change
Код
    If Me.EnableEvents = False Then
        Me.EnableEvents = True
        Exit Sub
    End If
Но тут вроде как не надо его блокировать. Мне бы просто вызывать его не одиночным кликом. Чтоб при перемещении между позициями галочка не снималась.
Заранее благодарен.
p.s. Просто если блокировать стандартный обработчик, тогда придется лепить отдельную кнопку. Не хотелось бы.
Изменено: Grr - 17.06.2014 14:03:14
Прошу помочь с выбором концепции разработки
 
Доброго времени суток.
Я только начинаю программировать. Мне поставлена следующая задача. Необходимо написать помощника по оформлению заявок на доступ. Часть исходных данных есть в приложенном файле на закладке "Исходные данные". Цель - облегчить заполнение шаблона на доступ.
Я начал разработку, но чувствую, что иду не по тому пути. Прошу помочь определиться с концепцией.

Итак мы имеем три группировки: Группа процессов, группа операций, описание роли.
Группа процессов в роли всегда одна. Я организовал выбор через ComboBox.
Далее на закладке Data решил сделать три списка (по количеству группировок), в каждом из которых первая колонка будет "как бы индексом". Таким образом при выборе Группы процессов, можно будет заполнить ListBox
группами процессов, а при позиционировании на группе процессов получить список ролей.

Но вот тут я притормозил. Предполагалось, что список ролей тоже будет ListBox с возможностью проставить "галочки". Возникает трудность как их хранить при смене позиции курсора между группами операций.
Вот тут и прощу помощи - как организовать это хранение?
В последствии отмеченные роли должны попасть в печатную форму.
Заранее благодарен

p.s. Есть идея при проставлении галочки помечать эту роль непосредственно на листе Data, и в последствии выводить на печать лишь помеченные. Но как то не торт...
p.p.s. Алгоритм заполнения ListBox-а не идеален. Сейчас изучаю возможности VBA, планирую упростить. Думаю, что должна быть возможность фильтрации массива.
p.p.p.s. Кстати, если будет возможность фильтровать массив, то можно будет при открытии все в массив считать, затем постоянно его фильтровать, и в нем же пометки хранить тех ролей, которые были отмечены.
Изменено: Grr - 30.01.2014 18:14:29
Страницы: 1
Наверх