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

Страницы: 1
Группировка таблицы по датам, Группировка таблицы по датам
 
Доброго времени суток форумчане ;-)

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

Возможно ли как то программными инструментами Excel совершить такое преобразование?

Заранее благодарю всех за помощь.
Перевернуть словосочетание из 12345АБВ в АБВ12345
 
Добрый день уважаемые пользователи форума.

Подскажите, пожалуйста:

Как можно с помощью функций или макроса сделать следующее:
В столбце "A" есть список из словосочетаний которые содержат цифры и буквы по типу 12345АБВ, 4321АБВГД, 112233КЛМН (скриншот №1 во вложении).
Подскажите, пожалуйста, как можно с помощью функций или макроса сделать, что бы в колонке "B" словосочетания из колонки "А" отображались в другом формате, а именно, сначала буквы,  а потом цифры: АБВ12345 , АБВГД4321 , КЛМН112233 (скриншот №2 во вложении).

Пример файла также добавил во вложение.


Заранее благодарю.
Изменено: SanyaMan90 - 16.09.2023 11:55:21
Не срабатывает функция ВПР при выборе значения из выпадающего списка., Не срабатывает функция ВПР при выборе значения из выпадающего списка.
 
Добрый день уважаемые пользователи форума.

Подскажите, пожалуйста, по следующему вопросу:
Создаю небольшой файл в EXCEL для упрощения работы. В файле использую функцию ВПР и выпадающий список.
Хочу сделать так что бы при выборе нужного значения из выпадающего списка в ячейке B5, в ячейках B2 и B3 автоматически подтягивалась информация по функции ВПР которую я прописал в данные ячейки.
По какой то причине формула не срабатывает и данные не подтягиваются.
Самостоятельно пока найти ошибку по которой не срабатывает функция ВПР не получается, поэтому обращаюсь за помощью к пользователям данного форума.
Скриншоты и файлик прилагаю во вложении.

Заранее благодарю за помощь.
Изменено: SanyaMan90 - 22.10.2022 23:56:04
Доработка макроса отправки с Excel данных в письмо Outlook.
 
Добрый день уважаемые пользователи форума.

Нужна Ваша консультация.
Есть файл с макросом отправки письма в почту.  В файле есть таблица смотреть скрин №1. Данная таблица всегда содержит одинаковое количество столбцов,
но время от времени содержит разное количество строк. В коде макроса указано отправлять таблицу ConvertRngToHTM(Range("A7 : H50")) смотреть скрин №2.
Когда заполнено не все 50 строк, а например 10 или 15 приходится вручную править значение ячейки в коде вместо H50 ставить другое количество что бы
таблица отправлялась без пустых строк смотреть скрин №3 и №4.
Можно ли как то настроить макрос что бы при нажатии на кнопку "Отправить письмо" письмо отправляюсь с таблицей только со строками в которых есть значения и автоматом
не вставляло в письмо пустые строки  таблицы смотреть скрин №5.

Файл макроса и фото прикрепляю.

Заранее благодарю за помощь.
Код
Sub Кнопка()


    Dim objOutlookApp As Object, objMail As Object


 


    Application.ScreenUpdating = False


    On Error Resume Next


    Set objOutlookApp = CreateObject("Outlook.Application")


    objOutlookApp.Session.Logon


    Set objMail = objOutlookApp.CreateItem(0)   'создаем новое сообщение


    If Err.Number <> 0 Then Set objOutlookApp = Nothing: Set objMail = Nothing: Exit Sub


    On Error GoTo 0


    'создаем сообщение


Dim arr, mailboxes As String


    arr = Range("P2:P3").Value


        For i = 1 To UBound(arr)


        If Len(mailboxes) = 0 Then


            mailboxes = arr(i, 1)


        Else


            mailboxes = mailboxes & "; " & arr(i, 1)


        End If


    Next i


     


    With objMail


        .To = mailboxes


        .cc = Range("P4").Value


        .Subject = Range("O2") & Range("O3") & Range("O4")


        .BodyFormat = 2  'olFormatHTML - формат HTML


        .HTMLBody = "<br>" & Range("A2") & ConvertRngToHTM(Range("A7 : H50")) & "<br>" & Range("A3") & "<br>" & "<b> <i>  Александр </i> </b> " & "<br>" & Range("A4") & "<br>" & Range("A5") & "<br>" & strbody & " <br> <img src='https://latifundist.com/media/company/300-s/00/01/1283/atb-104058.jpg'" & "width=150 height=150>"


        .Display 'отображаем сообщение


        .ReadReceiptRequested = False 'уведомление о прочтении


        objMail.Importance = 2 'olImportanceHigh высокая важность письма


                


    End With


 


    Set objOutlookApp = Nothing: Set objMail = Nothing


    Application.ScreenUpdating = True


End Sub



 



Function ConvertRngToHTM(rng As Range)


    Dim fso As Object, ts As Object


    Dim sF As String, resHTM As String


    Dim wbTmp As Workbook


 


    sF = Environ("temp") & "/" & Format(Now, "dd-mm-yy h-mm-ss") & ".htm"


    'переносим указанный диапазон в новую книгу


    rng.Copy


    Set wbTmp = Workbooks.Add(1)


    With wbTmp.Sheets(1)


        'вставляем только ширину столбцов, значения и форматы


        .Cells(1).PasteSpecial xlPasteColumnWidths


        .Cells(1).PasteSpecial xlPasteValues


        .Cells(1).PasteSpecial xlPasteFormats


        .Cells(1).Select


        Application.CutCopyMode = False


        'удаляем все объекты(фигуры, рисунки и пр.)


        '------------------------------------------


        'если рисунки и объекты нужны - удалить этот блок


        On Error Resume Next


        .DrawingObjects.Visible = True


        .DrawingObjects.Delete


        On Error GoTo 0


        '------------------------------------------


    End With


    'сохраняем книгу как Веб-страницу(чтобы содержимое конвертировать в HTML-код)


    With wbTmp.PublishObjects.Add( _


         SourceType:=xlSourceRange, Filename:=sF, _


         Sheet:=wbTmp.Sheets(1).Name, Source:=wbTmp.Sheets(1).UsedRange.Address, _


         HtmlType:=xlHtmlStatic)


        .Publish (True)


    End With


    'открываем созданный файл как текстовый и считываем содержимое


    Set fso = CreateObject("Scripting.FileSystemObject")


    Set ts = fso.GetFile(sF).OpenAsTextStream(1, -2)


    resHTM = ts.ReadAll


    ts.Close


    'выравниваем таблицу по левому краю(если надо оставить по центру - удалить эту строку)


    ConvertRngToHTM = Replace(resHTM, "align=center x:publishsource=", "align=left x:publishsource=")


    'закрываем временную книгу и удаляем


    wbTmp.Close False


    Kill sF


    'очищаем объектные переменные


    Set ts = Nothing: Set fso = Nothing


    Set wbTmp = Nothing


End Function



Изменено: SanyaMan90 - 22.07.2022 17:18:40
Изображение в подписи макроса вставляется сверху сообщения, а не с низу.
 
Добрый день уважаемые пользователи форума.

Подскажите, пожалуйста, по следующему вопросу:
Хочу вставить в подпись изображение. Прописал код, но изображение вставляется сверху сообщения, а не с низу.
Подскажите как исправить, что бы изображение вставлялось снизу под подписью.
Файлы во вложении.
Код в спойлере.

Заранее благодарю.

Скрытый текст
Изменено: SanyaMan90 - 24.09.2020 21:47:39
Отправка письма макросом нескольким получателям из диапазона ячеек.
 
Добрый день уважаемые пользователи форума.

Подскажите, пожалуйста, по следующему вопросу:
У меня есть макрос отправки писем с вложением таблицы в тело письма. Макрос работает корректно при указании одного получателя см. скриншот №2, при этом отправить письмо нужно сразу нескольким получателям и при прописывании диапазона ячеек получателей происходит ошибка .To = Range("A12:A15").Value  см. скриншот №3.


Подскажите как правильно прописать код получателя, что бы в получатели в письмо подставлялось сразу несколько получателей из диапазона ячеек A12:A15 см. скриншот №1.  

Пример файла и скриншоты прикрепляю во вложении.
Код
Sub ТО_ПК_Кнопка()
    Dim objOutlookApp As Object, objMail As Object
 
    Application.ScreenUpdating = False
    On Error Resume Next
    Set objOutlookApp = CreateObject("Outlook.Application")
    objOutlookApp.Session.Logon
    Set objMail = objOutlookApp.CreateItem(0)   &#39;создаем новое сообщение
    If Err.Number <> 0 Then Set objOutlookApp = Nothing: Set objMail = Nothing: Exit Sub
    On Error GoTo 0
    &#39;создаем сообщение
    With objMail
        .To = Range("A12").Value
        .Subject = "Текст"
        .BodyFormat = 2  &#39;olFormatHTML - формат HTML
        .HTMLBody = ConvertRngToHTM(Range("A2:M6"))
        .Display &#39;отображаем сообщение
        .ReadReceiptRequested = True
        objMail.Importance = 2 &#39;olImportanceHigh
    End With
 
    Set objOutlookApp = Nothing: Set objMail = Nothing
    Application.ScreenUpdating= True
End Sub

Скрытый текст

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

Есть файл с таблицей см. скриншот №1.
При выборе номера магазина из выпадающего списка (ячейка B2) данные подставляются в табличку с помощью функции ВПР.
Интересует вопрос можно ли как то сделать так, что бы при выборе номера магазина из выпадающего списка (ячейка B2) ниже в оновной таблице данных отображалась только строка с выбранным магазином из списка ячейки B2. Настроить так что бы фильтр автоматически выбирал для показа только ту строку которая соответствует номеру магазина выбранного в ячейке B2 см.скриншот №2. На скриншоте 2 фильтр в основной таблице был выбран вручную, а нужно что бы он автоматически выбирался.

Пример файла прикрепляю.
Заранее благодарю за ответ.
Изменено: SanyaMan90 - 10.06.2020 16:10:18
Подставление данных в ячейку функцией ВПР из разных столбцов., Подставление данных в ячейку функцией ВПР из разных столбцов.
 
Добрый день уважаемые пользователи форума.
Нужна Ваша консультация.
Есть файл с таблицей см. скриншот №1.
Подскажите как можно сделать так что бы функция ВПР подставляла в ячейку B4 в зависимости от номера магазина данные либо из ячеек столбца B или из ячеек столбца С.
Например при выборе магазина №1 из выпадающего списка (ячейка B2), то данные в ячейке B4 подставляются корректно (см. скриншот №1), а именно город соответствующий номеру магазина из таблицы ниже столбец B, а при выборе в выпадающем списке (ячейка B2) магазина №3 нужно что бы в ячейку B4 подставлялись данные соответствующие номеру магазина столбец С из таблицы ниже (см. скриншот №2).
Возможно функционал Excel позволяет решить данный вопрос например объединением функций ВПР и ЕСЛИ?
Обращаюсь к форумчанам за помощью.

Пример файла Excel прикрепил ниже.
Заранее благодарю за помощь.
Изменено: SanyaMan90 - 03.06.2020 16:25:55
Доработка макроса отправки с Excel данных в новое письмо Outlook на нескольких получателей.
 
Добрый день уважаемые пользователи форума.

Подскажите, пожалуйста:

Не получается также добавить нескольких получателей. Создал файл Excel в котором есть несколько выпадающих списков (ячейки B1-K1) где выбирая номер магазина в другой ячейке выбирается соответствующий email в ячейках B7-K7. Нужно отправить письмо одновременно на 10 выбранных магазинов в ячейках, но как это прописать в коде не пойму. Пробовал воспользоваться подсказками на зарубежных форумах: (https://docs.microsoft.com/en-us/office/vba/excel/concepts/working-with-other-applications/sending-email-to-a-list-of-recipients-using-excel-and-outlook , https://stackoverflow.com/questions/14985261/how-can-i-use-outlook-to-send-email-to-multiple-recipients-in-excel-vba , https://www.extendoffice.com/documents/excel/3559-excel-send-email-to-multiple-recipients.html , https://www.ozgrid.com/forum/index.php?thread/1204285-vba-code-to-send-email-to-multiple-recipients/ , https://www.ozgrid.com/forum/index.php?thread/118963-excel-vba-email-using-outlook-to-multiple-recipients/ ), но ничего не получается код не работает. Изначальный код в спойлере. Подскажите пожалуйста как прописать так , что бы в получатели в Outlook были все 10 email из ячеек B7-K7.
Заранее благодарю.

Скрытый текст

Изменено: SanyaMan90 - 31.01.2020 13:55:21
VBA.Замена одних текстов на листе на другие
 
Подскажите, пожалуйста: как можно настроить в Excel автоматическую замену текста на листе.
Есть условная табличка скриншот ниже. Нужно, что бы Excel автоматически менял текст в диапазоне ячеек A1:A20 с: "Указывайте лицевой счет №123456" заменить на "№123456" , с "Необходимо указывать физический адрес" заменить на "-" , с "Вместо номера договора указывайте адрес" заменить на "-" .

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

Заранее благодарю за помощь.
Изменено: SanyaMan90 - 31.01.2020 12:43:40
Доработка макроса отправки с Excel данных в новое письмо Outlook.
 
Добрый день уважаемые пользователи форума.

Подскажите, пожалуйста:

При нажатии на кнопку "отправить письмо" в Outlook в письме автоматически заполняется имейл получателя тема письма, скриншот №1.
Если выделить табличку, то в Outlook в письме автоматически заполняется имейл получателя тема письма и в тело письма уходит табличка также табличка.

Подскажите, пожалуйста: можно ли как то в коде макроса дописать, что бы при нажатии на кнопу "отправить письмо" в тему письма подставлялся автоматически номер магазина из ячейки D16, а в тело письма автоматически подставлялась табличка как на скриншоте № 2.  

Если это возможно то подскажите, что и где дописать в коде.

Заранее благодарю.

Код макроса в спойлере ниже:
Скрытый текст

Файлик прикрепляю также.
Заполнение таблицы данными из другой таблицы, где выбирается нужная строка фильтром.
 
Добрый день уважаемые пользователи форума.
Нужна Ваша консультация.
Есть файл с таблицей см. скриншот №1. Необходима такая настройка, что бы при выборе фильтром конкретного магазина в табличке ниже заполнялись только некоторые значения из большого списка значений первой таблицы см. скриншот №2.
Пробовал это сделать с помощью функции ВПР (https://www.planetaexcel.ru/techniques/2/224/  и https://www.planetaexcel.ru/techniques/2/81/ ), скриншот №3 но не получается. Подскажите, пожалуйста, как это можно настроить. Заранее благодарю.
 
Изменено: SanyaMan90 - 27.01.2020 17:49:06
Страницы: 1
Наверх