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

Страницы: 1
ВПР с составным искомым значением по виртуальной колонке, чтобы не создавать в таблицах тех колонку, создать её виртуально в формуле.
 
Всем привет!

Используя ВПР, если нужно искать по нескольким колонкам, обычно, делаю еще одну колонку и там объединяю значения. Ищу по ней же. Получается тех. колонка.

Сейчас появилась задача, где я не могу создавать колонки и её надо виртуально делать в самой формуле.
Код
ВПР("123";вирт. тех. столбец поиска + вся таблица;5;0)

Подскажите, пожалуйста, как.
Пример приложил.
Изменено: BUGL - 04.10.2019 11:30:56 (замена файла)
Нет ТЗ - получишь ХЗ.
Люблю универсально-стандартные решения, даже если они сложнее
Автоматическая нумерация в несколько уровней
 
Друзья,

в пример:
первые 2 колонки заполнил. третью начал делать и понял - что очень запутанно.
помогите, пожалуйста, заполнить 3ий столбец нумерации.

PS будет круто найти более элегантное решение.
Изменено: BUGL - 19.07.2019 16:00:11
Нет ТЗ - получишь ХЗ.
Люблю универсально-стандартные решения, даже если они сложнее
Макрос VBA: Перемещение письма в папку, где лежит предшественник (MS Outlook), начал писать и столкнулся, с нехваткой знания VBA и объектной модели Outlook
 
Доброго дня, друзья!

не нашел на нашем форуме ветки для других продуктов MS.

Пытаюсь написать макрос, который поможет сортировать входящие письма в Outlook 2010.

Задача:
Когда выделяешь письмо нужно по теме письма определять папку, где есть последнее письмо всей цепочки писем (цепочка - тема).
На панели должна быть кнопка, которая меняет свое название на  "Переместить в ПАПКА". На кнопке должна подставляться определившаяся папка для выделенного письма.
По кнопке при нажатии переместить письмо в определившуюся папку.
Если выделено несколько писем: выдавать ошибку.
 Если цепочки не найдено, то при  нажатии на кнопку просить определить папку.


Я вывел кнопку со ссылкой на макрос через Настройку панели.

Начал писать и столкнулся, с нехваткой знания VBA и объектной модели Outlook.
Буду очень благодарен за любую помощь, даже маленькую, даже частичную: просто обращение к объектам или проверки тоже будут помогать.

Сделал скелет программы и ищу по крупицам информацию в нете.
Все недостающие части выделены в виде комментариев с логикой.
Код
Все недостающие части выделены в виде комментариев с логикой.

Sub SortMail()
'ждем выделение 1 письма

    On Error GoTo 0 'Resume Next
    Dim FolderName As String - конечная в иерархии папка FolderAdress
    Dim FolderAdress As String - полный путь до папки
    
    'если выделено несколько писем: если начало работы по выделению - ничего не делать. если начало работы по нажатию - выдать ошибку.
    'иначе
        'FolderAdress = Find_the_folder()
        'если FolderAdress не найдено, то FolderNamе = "?"
      'иначе FolderNamе = конечная в иерархии папка FolderAdress.
    'конец если
    'поменять имя кнопки Макроса на панели инструментов на "MoveTo FolderNamе". если FolderName не задано, то ставить "?"

'тут ждем клик на кнопку Макроса
    'если FolderAdress не найдено, то
        'выдать диалог со списком всех папок Inbox включая вложенные для выбора папки. OK и отмена.
        'записать в FolderAdress
    'конец если
    'FolderNamе = конечная в иерархии папка FolderAdress.
    Call MoveIt2Folder(FolderName)
End Sub


==========================================
 Sub MoveIt2Folder(FolderName As String)

'если папка находится на втором уровне вложенности и далее - то надо заходить в нужные подпапки.

On Error GoTo 0 'Resume Next
Dim objFolder As Outlook.MAPIFolder, objInbox As Outlook.MAPIFolder
Dim objNS As Outlook.NameSpace, objItem As Outlook.MailItem
On Error Resume Next
Set objNS = Application.GetNamespace("MAPI")
Set objInbox = objNS.GetDefaultFolder(olFolderInbox)
Set objFolder = objInbox.Folders(FolderName)
On Error GoTo 0 'Resume Next

If objFolder Is Nothing Then
    MsgBox "This folder doesn't exist!", vbOKOnly + vbExclamation, "INVALID FOLDER"
End If

If Application.ActiveExplorer.Selection.Count = 0 Then
    Exit Sub
End If

For Each objItem In Application.ActiveExplorer.Selection
    If objFolder.DefaultItemType = olMailItem Then
        If objItem.Class = olMail Then
            objItem.Move objFolder
        End If
    End If
Next

' записать лог в файл на диске C: txt в виде Дата+Время письма; Отправитель; Тема перенос в папку Х

Set objItem = Nothing
Set objFolder = Nothing
Set objInbox = Nothing
Set objNS = Nothing
End Sub

==========================================

Function Find_the_folder()

'On Error Resume Next 'GoTo 0
Dim myOlApp As New Outlook.Application
Dim objNamespace As Outlook.NameSpace
Set objNamespace = myOlApp.GetNamespace("MAPI")
Dim strFilter As String
Dim itm As Object
Dim SubjectOu As String
' ТЕМА = тема выделенного письма
' ПАПКА = папка, где лежит нужное письмо

'найти самое последнее по времени получения письмо во всей папке Inbox с учетом поиска во вложенных папках, где тема like ТЕМА
Set itm = myOlApp.ActiveExplorer()
SubjectOu = "ТЕМА" 'ТЕМА
strFilter = "urn:schemas:httpmail:subject like" & "'" & "%" & SubjectOu & "%" & "'"
SearchSubFolders = True
Scope = "'Inbox'"
Set Search = myOlApp.AdvancedSearch(Scope, strFilter, SearchSubFolders)
Set filteredItems = Search.Results

' тут пытался найти самое последнее по времени получения письмо во всей папке Inbox с учетом поиска во вложенных папках
' не хватает понимания и знания объектов и VBA
For Each itm In filteredItems
Debug.Print itm.Subject
Debug.Print itm.SenderName
Debug.Print itm.SentOn
Next
Set myOlApp = Nothing
 
'определить полный путь папки с где она лежит

'вернуть ПАПКА
End Function
Изменено: BUGL - 19.03.2018 17:44:31
Нет ТЗ - получишь ХЗ.
Люблю универсально-стандартные решения, даже если они сложнее
2 дополнения на VBA для Outlook, или не только VBA
 
Друзья!

Нужен макрос или дополнение:

1. Сортировка по папкам входящих писем в Outlook
Когда выделяешь письмо нужно по теме письма определять папку, где есть последнее письмо всей цепочки писем (цепочка - тема).
  На панели кнопка, которая меняет свое название на   "Переместить в  ПАПКА", где ПАПКА - определившаяся  папка для выделенного письма.
По кнопке переместить письмо в определившуюся папку.
Если цепочки/папки не найдено, то при нажатии на кнопку просить указать определить папку.

Детали:
Скрытый текст



2. Follow-UP на стандартных задачах.
Новая кнопка Follow up: выделили письмо, нажали на кнопку, создается стандартная outlook задача-флажок с напоминанием на 1 или 2 дня. При получении письма по теме ищется follow up на него и ставится "выполнено". Follow up можно сделать на любое письмо: входящее/исходящее.

Детали:
Скрытый текст

Спрашивайте, если ТЗ невнятное.
предлагайте ценник. рассмотрю любые предложения.
пока вижу по 2к за каждую.
Изменено: BUGL - 03.04.2018 12:51:05
Нет ТЗ - получишь ХЗ.
Люблю универсально-стандартные решения, даже если они сложнее
Мягкий ВПР: поиск похожего значения, делюсь готовым решением
 
Задавшись целью, и нагуглив разные примеры/способы - создал свой скрипт.
Потом увидел в отдельном разделе готовое решение. Решил сравнить и удивился.

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

 ·         [Искомое значение] – ссылка на поле

·         [Колонка данных для поиска] – диапазон. Лучше всего использовать ограниченный диапазон (А1:А10), вместо неограниченного (А:А).

·         [Выводить само значение или кол-во совпадающих знаков] – опционально
a.       0 - значение(умолч.)
b.      1 - кол-во похожих символов в зависимости от алгоритма
с.      2 - процент подобия

·         [Тип расчета] – опционально
a.       0 - ищет самый длинный блок(умолч.)
b.      1 - ищет все совпадающие блоки больше 2 символов
c.       2 - побуквенное сравнение


Нужные функции в Module1


UPD
Ускорена работа за счет работы из массива
Исправлены баги и добавлен процент подобия.
Изменено: BUGL - 29.12.2016 02:05:30
Нет ТЗ - получишь ХЗ.
Люблю универсально-стандартные решения, даже если они сложнее
Преобразование матрицы в список: развернуть матрицу построчно
 
Добрый день, друзья!

Помогите, пожалуйста, преобразовать таблицу значений в список для обработки.
Было:
Вася Раз Два Пять
Игорь Раз Пять ДваШесть
Нужно:
Вася Раз
Вася два
Вася Пять
Игорь Раз
Игорь Пять
Игорь Два
Игорь Шесть

Пример и требуемый результат описан в приложении.
Буду очень благодарен примеру!
Изменено: BUGL - 21.10.2016 00:07:00
Нет ТЗ - получишь ХЗ.
Люблю универсально-стандартные решения, даже если они сложнее
Макрос: Дата изменения строки(нескольких ячеек), Написанный макрос тормозит, нужна помощь.
 
Приветствую!

Суть проблемы: При копировании всей строки методом "выделение-растягивание угла вниз" и создания до 5-10 таких строк видно, как система начинает пересчитывать поля и тормозить. Такое же поведение если удалить 5-10-15 строк одновременно.
Предполагаю, что это из-за деревянности моего макроса.
Файл выкладываю без упрощений, поскольку зависания возникают именно в
моем файле. Простого тестового файла с тормозами я не смог создать.

Буду признателен, если знатоки подскажут более быстрый макрос по записи даты изменения строки.
Изменено: BUGL - 20.07.2015 14:08:01
Нет ТЗ - получишь ХЗ.
Люблю универсально-стандартные решения, даже если они сложнее
Форматирование текста по условию при его формировании в ячейке формулой, менять цвет только 1 строки, если она просрочена
 
Всем привет!
Есть таблица со строками. Есть отдельные страницы для каждого проекта, где формулами собирается миниотчет. Далее этот отчет связывается с PowerPoint, но это неважно.

Задача:
Есть формула, которая делает сцепкой из нескольких ячеек - 1ну.
Необходимо, чтобы менялся цвет строки, если число меньше заданного.

Как я понимаю, формулами формат не поменять, условное форматирование тоже мимо.
Макрос?
Изменено: BUGL - 05.06.2015 15:18:27 (упрощен пример.)
Нет ТЗ - получишь ХЗ.
Люблю универсально-стандартные решения, даже если они сложнее
Из списка на отдельном лиcте сделать выборку данных
 
Приветствую!

Есть файл, в котором ведутся задачи. Эти задачи из файла нужно преобразовать в другой вид в разрезе по каждому проекту.
Файл в приложении.
Пытался сделат ьвыборку сводными таблицами - он не работает с текстом.
Пытался написать формулу - ничего не шло.

В приложении тестовый файл и на вкладке Проект 1 есть пример результата.
Есть варианты решения формулами/сводными таблицами или на крайний случай макросами?
Изменено: BUGL - 28.05.2015 22:12:50 (добавлен пример со сводным)
Нет ТЗ - получишь ХЗ.
Люблю универсально-стандартные решения, даже если они сложнее
Страницы: 1
Наверх