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

Страницы: 1 2 След.
Макрос, копирующий строки опреденное количетсво раз.
 
Kuzmich, благодарю Вас!
Макрос, копирующий строки опреденное количетсво раз.
 
Уважаемый JayBhagavan, к сожалению без сводного КУБа не обойтись.

Большое спасибо!
Макрос, копирующий строки опреденное количетсво раз.
 
Друзья!Д обрый день!
Прошу вашей помощи - может быть у кого-то есть заготовка.

Есть сводная таблица, в ней 3 столбца - Название Склада, Продукт, Сумма по полю продукт.
Требуется скопировать на отдельный лист или рядом (как в примере), при этом сделать это при помощи макроса: Название Склада, Продукт (Сумма по полю продукт) раз друг под другом, проделать данную операцию для каждого Название Склада.

Пример во вложении.
Благодарю Вас!
Изменено: Kolesnikov - 13.12.2018 22:10:25
Группа рассылок из Excel в Outlook (VBA), Прошу помочь с созданием группы рассылки по списку из Excel
 
Может быть есть идеи?
Изменено: Kolesnikov - 13.11.2018 11:49:54
Суммирование до достижения определенного значения
 
БМВ, для вас собрал формулу, которая позволяет это делать.
Суммирование до достижения определенного значения
 
Первый с ДОП столбцом (он скрыт), и второй как понял.
Желтым в первом варианте выделено последнее входящее число с учётом переполнения.

Попробуйте чуть подробнее написать.  
Изменено: Kolesnikov - 08.06.2018 12:59:53
Как в ячейку свежесозданного файла поместить значение из другого родительского файла?
 
Добрый день.

Без файлика не очень удобно.
У Васведь есть строка в цикле для этого.
Или я не так Вас понял.
Код
ActiveSheet.Cells(30, 12).Value = NewFile
Сбор уникальных данных из строки данных VBA (не сводная), Сбор уникальных данных из строки методами, отличными от сводной таблицы
 
Inexsu, действительно волшебство...  
Сбор уникальных данных из строки данных VBA (не сводная), Сбор уникальных данных из строки методами, отличными от сводной таблицы
 
Цитата
Jack Famous написал:
подозреваю, что имеется ввиду столбец с повторяющимися ячейками
Да, коллеги, прошу прощения - забыл приложить файл - пример.  
Сбор уникальных данных из строки данных VBA (не сводная), Сбор уникальных данных из строки методами, отличными от сводной таблицы
 
Коллеги, добрый день.

Предположим я хочу узнать какие фрукты есть во всём мире.
Собрал массив данных, в котором очень много повторяющихся данных.

Подскажите пожалуйста как из этой строки собрать уникальные значения средствами VBA, без использования сводных таблиц.  
Рассылка писем VBA с вставкой таблицы в тело письма., Проблема при последовательной отправке.
 
Уважаемы Sokol92, благодарю Вас за помощь!

Всё работает!
Успехов Вам!
Рассылка писем VBA с вставкой таблицы в тело письма., Проблема при последовательной отправке.
 
Коллеги, если кто-то знает HTML, прошу вас помочь.
Рассылка писем VBA с вставкой таблицы в тело письма., Проблема при последовательной отправке.
 
Цитата
Андрей VG написал:
Вот и вызывайте функцию Сергея, просто передавая разные диапазоны Rangе
Благодарю Вас, почему-то сам не додумался :)

Один небольшой вопрос по HTML, скорее всего.

В исходной таблице (3. png), данные отображены в процентах.
К сожалению в письме это превращается в (4. png), подскажите пожалуйста, как сохранить расцветку и проценты?
Рассылка писем VBA с вставкой таблицы в тело письма., Проблема при последовательной отправке.
 
Добрый день.

Прошу прощения что заново поднимаю данную тему.
Коллеги, прошу помочь.
Подскажите пожалуйста, как с имеющимся кодом можно вставить несколько таблиц с разных листов в текст одного письма?
Рассылка писем VBA с вставкой таблицы в тело письма., Проблема при последовательной отправке.
 
Цитата
Дмитрий Щербаков написал:
поместить внутрь цикла
Данное решение тоже помогло, благодарю Вас.  
Изменено: Kolesnikov - 24.04.2018 09:55:41
Рассылка писем VBA с вставкой таблицы в тело письма., Проблема при последовательной отправке.
 
Цитата
Doober написал:
Так не подойдет?
Всё отлично работает, большое спасибо!
Рассылка писем VBA с вставкой таблицы в тело письма., Проблема при последовательной отправке.
 
Function.
Код
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
    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
    Set rng = Nothing
    
End Function
К сожалению понять в чём проблема не смог.

ниже приложен тестовый файл.  
Изменено: Kolesnikov - 21.04.2018 13:36:25
Рассылка писем VBA с вставкой таблицы в тело письма., Проблема при последовательной отправке.
 
Добрый день, уважаемые форумчане.

Использую макрос для рассылки данных о качестве продажи сладостей сотрудниками шоколадной фабрики.
Код
 Sub Send_Email()


Dim OutApp As Object
Dim OutMail As Object
Dim c, u As String
Dim name, count As Integer
Dim PlaceY As Range
Dim rDataR As Range
Dim sBody As String

u = Worksheets("settings").Range("b3")

With Application
    .Calculation = xlManual
    .ScreenUpdating = False
    .EnableEvents = False
End With

c = Worksheets("Settings").Range("b3").Value
sBody = Worksheets("Settings").Range("B4").Value


For i = 1 To c


Set OutApp = CreateObject("outlook.application")
Set OutMail = OutApp.CreateItem(0)


name = ActiveWorkbook.Sheets("Settings").Range("c" & (i + 1)).Value


Worksheets("SMART").PivotTables("ÑâîäíàÿÒàáëèöà1").PivotFields("Ëîãèí îïåðàòîðà"). _
        ClearAllFilters
Worksheets("SMART").PivotTables("ÑâîäíàÿÒàáëèöà1").PivotFields("Ëîãèí îïåðàòîðà"). _
        CurrentPage = name
        
        ThisWorkbook.Worksheets("smart").Select
        
Range("A4").Select
Range(Selection, Selection.End(xlToRight)).Select
Range(Selection, Selection.End(xlDown)).Select

     sBody = Replace(sBody, Chr(10), "<br />")
     sBody = Replace(sBody, vbNewLine, "<br />")
     sBody = "<span style=""font-size: 14px; font-family: Arial"">" & sBody & "</span>"

Set rDataR = Selection
sTblBody = ConvertRngToHTM(rDataR)
sBody = Replace(sBody, "{TABLE}", sTblBody)


With OutMail
    .SentOnBehalfOfName = ActiveWorkbook.Sheets("Settings").Range("b1").Value
    .Subject = ActiveWorkbook.Sheets("Settings").Range("b2").Value
    .To = name & "@poctalion.mail"

    .HTMLBody = sBody
    .Display
   
'   .Send
    
    
End With




Set OutApp = Nothing
Set OutMail = Nothing

'Application.Wait Time:=Now + TimeSerial(0, 0, 2)
Next i



With Application 'Turning graphical options back
    .ScreenUpdating = True
    .EnableEvents = True
    .Calculation = xlCalculationAutomatic
End With

Worksheets("settings").Activate

End Sub

Код
Function будет в следующем сообщении - сейчас слишком много символов. 

При работе данного кода первое письмо выглядит совершенно верно:

"1, png"

Однако все последующие принимают неудобоваримый вид:

"2, png"

Подскажите пожалуйста, что предпринять для корректной генерации писем?
Изменено: Kolesnikov - 21.04.2018 13:39:25
Вставка скриншота в письмо VBA, VBA
 
К сожалению ответа на данный вопрос так и не нашел - генерирую таблицы в письмо при помощи html.  
Вставка скриншота в письмо VBA, VBA
 
прошу закрыть данную тему
Изменено: Kolesnikov - 07.04.2018 16:43:58
Вставка скриншота в письмо VBA, VBA
 
Первый лист.  
Вставка скриншота в письмо VBA, VBA
 
Цитата
Дмитрий Щербаков написал:
Лично мне непонятно даже то, откуда там две картинки, если формируется одна...
Данный вопрос и меня мучает.
Извиняюсь - не могу выложить сам файл прямо сейчас. Как буду дома, изменю пул данных, отправлю файл без конф. данных.

На данный момент скриншот берётся с листа, который называется "Smart".
Со вкладки "Settings" берутся ФИО для рассылки.  
Изменено: Kolesnikov - 07.04.2018 16:47:32
Вставка скриншота в письмо VBA, VBA
 
Прошу по возможности помочь :)
Вставка скриншота в письмо VBA, VBA
 
Новый скриншот.

Не могу понять закономерность.  
Изменено: Kolesnikov - 29.03.2018 20:47:59
Вставка скриншота в письмо VBA, VBA
 
Извиняюсь - не так понял :)
Вставка скриншота в письмо VBA, VBA
 
Скриншот
Вставка скриншота в письмо VBA, VBA
 
Цитата
Юрий М написал:
Может он очень большой?
Нет, соттветствует размеру области а1:с20
Вставка скриншота в письмо VBA, VBA
 
Почему-то не могу прикрепить скриншот.  
Вставка скриншота в письмо VBA, VBA
 
Добрый день.

Прошу Вас помочь.

Для рассылки по некоторым сотрудникам информации хочу сделать макрос.
Взял уже имеющиеся на просторах, в целом он устраивает.

Но не могу понять, почему-то на некоторых сотрудниках он накладывает график на скриншот, на некоторых нет.

Код
Sub Send_Email()

--------------------------------------------------------

With OutMail
.SentOnBehalfOfName = ActiveWorkbook.Sheets("Settings").Range("b1").Value
.Subject = ActiveWorkbook.Sheets("Settings").Range("b2").Value 'So called (by myself) head of letter.
.To = name & "qweqweqweqweqweqwe.RU" 


.HTMLBody = "<span LANG=EN>" & "Text" 
Call Get_Txt("321123545684") 'Time to create the image as a JPG file
.Attachments.Add TempFilePath & "321123545684.jpg", 0, 0

.HTMLBody = .HTMLBody & "Text"

'Let us combine object 2 with a body of message
.HTMLBody = .HTMLBody & "<BR>" & "<img src='cid:321123545684.jpg'" & "Text"

.Display 

End With


Set OutApp = Nothing
Set OutMail = Nothing

Next i


With Application 'Turning graphical options back
.ScreenUpdating = True
.EnableEvents = True
.Calculation = xlCalculationAutomatic
End With



End Sub





Sub Get_Txt(NameFile As String)

Dim PlaceY As Range

ThisWorkbook.Worksheets("smart").Activate 

Set PlaceY = ThisWorkbook.Worksheets("Smart").Range("A4:c20") 
PlaceY.CopyPicture

With ThisWorkbook.Worksheets("SMART").ChartObjects.Add(PlaceY.Left, PlaceY.Top, PlaceY.Width, PlaceY.Height)
.Activate
.Chart.Paste
.Chart.Export Environ$("temp") & "\" & NameFile & ".jpg", "JPG"
End With

Worksheets("SMART").ChartObjects(Worksheets("SMART").ChartObjects.count).Delete

Set PlaceY = Nothing

End Sub 
Проверка на наличие данных в области
 
Игорь, благодарю вас за то, что вы откликнулись.
Формулой я могу написать аналогичную задачу.
Нужно именно макросом - встроить в уже готовый код, поэтому задача масмально тривиальна и упрощена.  
Страницы: 1 2 След.
Наверх