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

Страницы: 1
VBA: не работает таймер
 
Цитата
vikttur написал: Сообщение №2 Вы осмыслили?
10 часов было указано, как пример, для проверки никто не мешает ставить ближайшее время и ждать пока запуститься макрос
Таймер сработал - вопрос закрыт, спасибо yozhik

Уважаемый модератор, меньше хамите и будет с Вами счастье, отличных выходных
VBA: не работает таймер
 
По описанной схеме тоже пробовал, ничего не происходит, время доходит до указанного, но макрос так и не запускается
В самом макросе:
Код
Sub Coupon_Alert_Today()
Application.OnTime TimeValue("18:14:00"), "Coupon_Alert_Today"

В ThisWorkBook
Код
Private Sub Workbook_Open()
Application.OnTime TimeValue("18:14:00"), "Coupon_Alert_Today"
End Sub
VBA: не работает таймер
 
Всем привет!

Подскажите пожалуйста, почему может не срабатывать макрос по таймеру? Процедура по кнопке работает без нареканий, вставил код таймера, но почему-то в указанное время ничего не происходит, перечитал кучу источников - ответа, к сожалению, не нашел
Код
Sub AutoRunMacro()
Application.OnTime TimeValue("10:00:00"), "procedure" 
End Sub 

Заранее спасибо  
VBA отправка писем и их формат через лотус Notes
 
Hugo, спасибо огромнейшее, все круто отработало )
VBA отправка писем и их формат через лотус Notes
 
Спасибо большое, очень помогло!

А еще такой вопрос, макрос сейчас берет почту, куда отправлять из ячейки в excel, если там через запятую написать в этой ячейку несколько адресов, то через Array тоже можно будет пробовать отправить?
VBA отправка писем и их формат через лотус Notes
 
Всем, привет!

Подскажите пожалуйста, имеется макрос ниже, он отправляет письма через лотус ноутс с определенным текстом, вставляя туда числовые значения, однако он вставляет значения с форматом 45036945,52, как можно сделать, чтобы он вставлял значения с форматом 45 036 945,52? Плюс можно ли делать рассылка на несколько адеросв, а также в копию ставить несколько адресов?

Заранее спасибо за помощь
Код
Sub Уведомления()
Dim xx
    xx = MsgBox("Расчеты произведены?", vbYesNo, "Провекра")
    
    If xx = 7 Then: Exit Sub
    If xx = 6 Then:
     
    Dim nSess       As Object 'NotesSession
    Dim nDir        As Object 'NotesDbDirectory
    Dim nDb         As Object 'NotesDatabase
    Dim nDoc        As Object 'NotesDocument
    Dim nAtt        As Object 'NotesRichTextItem
    Dim vToList     As Variant, vCCList As Variant, vBody As Variant
    Dim sFilPath    As String
    Dim sPwd        As String
    Dim wrbBal      As Workbook
    Dim shtData     As Worksheet
    Dim strName     As Range
    Dim D           As Date
    Dim a As Variant
    Dim c As Variant
    Dim NextCP As Variant
    Dim shtMC As Worksheet
    Dim rngMCCP As Range
 
    Set nSess = CreateObject("Lotus.NotesSession")
     
    sPwd = Application.InputBox("Type your Lotus Notes password!", Type:=2)
    Call nSess.Initialize(sPwd)

    Set wrbBal = ActiveWorkbook
    Set shtData = wrbBal.Worksheets("База данных")
    Set c = shtData.Range("A2:Q2")
    
    vCCList = "bugaga@mail.ru"
    Set strName = shtData.Range("A2")
    D = Date
    
Do Until strName.Value = ""
    Set shtMC = wrbBal.Worksheets("MC")
    Set rngMCCP = shtMC.Range("A2:G2")
    If c.Cells(1, 17) = "К" Then GoTo NextCP
    If c.Cells(1, 19) = "R" Then
        Do Until rngMCCP.Cells(1, 1).Value = ""
              
            If rngMCCP.Cells(1, 1) = c.Cells(1, 1) Then
                If rngMCCP.Cells(1, 2) > 0 Then

                    vToList = c.Cells(1, 14)
                    Set nDir = nSess.GetDbDirectory("")
                    Set nDb = nDir.OpenMailDatabase
                    Set nDoc = nDb.CreateDocument

                    With nDoc
         
                    Set nAtt = .CreateRichTextItem("Body")
                    Call .ReplaceItemValue("Form", "Memo")
                    Call .ReplaceItemValue("Subject", "Notification " & strName & " " & D & "")
         
                    With nAtt
                         .AppendText ("Добрый день!")
                         .AddNewLine
                         .AddNewLine
                         .AppendText ("текст" & Abs(rngMCCP.Cells(1, 2)) & " " & rngMCCP.Cells(1, 6) & " text " & rngMCCP.Cells(1, 7) & "")
                         .AddNewLine
                         .AddNewLine
                         .AppendText ("текст: " & rngMCCP.Cells(1, 3) & "")
                         .AddNewLine
                         .AppendText ("текст: " & rngMCCP.Cells(1, 4) & "")
                          End With
    
                    Call .ReplaceItemValue("CopyTo", vCCList)
                    Call .ReplaceItemValue("PostedDate", Now())
                    Call .Send(False, vToList)
                    End With
                    End If
                    End If
                    Set rngMCCP = rngMCCP.Offset(1)
                    Loop               
    Else:
    Do Until rngMCCP.Cells(1, 1).Value = ""
    If rngMCCP.Cells(1, 1) = c.Cells(1, 1) Then
    If rngMCCP.Cells(1, 2) > 0 Then
    vToList = c.Cells(1, 14)
    Set nDir = nSess.GetDbDirectory("")
    Set nDb = nDir.OpenMailDatabase
    Set nDoc = nDb.CreateDocument

    With nDoc
         
    Set nAtt = .CreateRichTextItem("Body")
    Call .ReplaceItemValue("Form", "Memo")
    Call .ReplaceItemValue("Subject", "Notification " & strName & " " & D & "")
            With nAtt
            .AppendText ("Dear All,")
                .AddNewLine
                .AddNewLine
                                .AppendText ("TEXT " & strName & " text " & Abs(rngMCCP.Cells(1, 2)) & " " & rngMCCP.Cells(1, 6) & " text" &  rngMCCP.Cells(1, 7) & "")
                                .AddNewLine
                                .AddNewLine
                                .AppendText ("TEXT: " & rngMCCP.Cells(1, 3) & "")
                                .AddNewLine
                                .AppendText ("TEXT: " & rngMCCP.Cells(1, 4) & "")

                                End With
    
                                Call .ReplaceItemValue("CopyTo", vCCList)
                                Call .ReplaceItemValue("PostedDate", Now())
                                Call .Send(False, vToList)
         
                            End With
                            End If
                        End If
                        
                      Set rngMCCP = rngMCCP.Offset(1)
                      Loop
    End If   
NextCP:
    Set strName = strName.Offset(1)
    Set c = c.Offset(1)
       
Loop

End Sub
Изменено: Стрель - 12.10.2016 18:15:45
VBA Макрос: Отбор данных из одной Книги в excel с двух листов и вставка в другую книгу-шаблон excel
 
JayBhagavan, получилось вот так пока что: шаблон заполняет информацию в шапке, но пока не удается вытащить параметры сделок
Код
Sub Заполнялка()
Dim wbkX As Workbook 
Dim shtData As Worksheet, shtTmpl As Worksheet, shtVal As Worksheet 
Dim rngOld As Range, rngNew As Range 
Dim rngCode As Range
Dim rngValCode As Range
Dim rngTmplVal As Range
Dim rngValAll As Range
Dim a As Date, d As String
a = Date

Set wbkX = ThisWorkbook
Workbooks.Open Filename:="путь.xlsx"

Set shtData = wbkX.Worksheets("БД контрагентов")
Set shtTmpl = Workbooks("Шаблон_пример").Worksheets("Лист1")
Set shtVal = wbkX.Worksheets("Переоценка")

Set rngOld = shtData.Range("A1:F1")
Set rngNew = shtTmpl.Range("A1:H5")

Set rngCode = shtData.Range("B1:B5")
Set rngValCode = shtVal.Range("F1")
Set rngTmplVal = shtTmpl.Range("A15:H15")
Set rngValAll = shtVal.Range("A:F")

Do Until rngOld.Cells(2, 1).Value = ""

    Workbooks("Шаблон_пример").Worksheets("Лист1").Activate
    rngNew.Cells(1, 2).Value = rngOld.Cells(2, 1).Value
    rngNew.Cells(2, 2).Value = rngOld.Cells(2, 5).Value
    rngNew.Cells(2, 4).Value = rngOld.Cells(2, 6).Value
    rngNew.Cells(4, 3).Value = rngOld.Cells(2, 3).Value
    rngNew.Cells(5, 3).Value = rngOld.Cells(2, 4).Value
    
    d = Range("B1")
       
     ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "путь\" & a & "_" & d & ".pdf" _
        , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
        :=False, OpenAfterPublish:=False
        
    rngNew.Cells(1, 2).Clear
    rngNew.Cells(2, 2).Clear
    rngNew.Cells(2, 4).Clear
    rngNew.Cells(4, 3).Clear
    rngNew.Cells(5, 3).Clear
     
    Set rngOld = rngOld.Offset(1)
    
Loop

ActiveWorkbook.Save
ActiveWorkbook.Close

wbkX.Activate
End Sub
VBA Макрос: Отбор данных из одной Книги в excel с двух листов и вставка в другую книгу-шаблон excel
 
JayBhagavan, спасибо, однако, в данном контексте получается для каждого к/а нужно заполнять if arr(r,6) = целевой_Код_в_системе_с_листа_БД_контрагентов, я, как раз-таки хочу избежать такого подхода, чтобы на каждого нового контрагента приходилось добавлять куосок нового цикла, цель такая чтобы макрос при запуске отобрал всех к/а (независимо от их количества), заполнил по каждому шаблон и сохранил в pdf
VBA Макрос: Отбор данных из одной Книги в excel с двух листов и вставка в другую книгу-шаблон excel
 
JayBhagavan, в приложении :)
VBA Макрос: Отбор данных из одной Книги в excel с двух листов и вставка в другую книгу-шаблон excel
 
JayBhagavan, приложил примерные файлы, заранее спасибо!
VBA Макрос: Отбор данных из одной Книги в excel с двух листов и вставка в другую книгу-шаблон excel
 
Всме привет!

Очень прошу подсказать по следующей задаче (хотя бы поделиться идеей с какой стороны подступиться и какой цикл использовать):

Имеются следующие вводные:

1) Книга excel (Balances.xlsm). В ней два листа от куда нам нужно будет забирать данные.

      а) Первый лист (база данных контрагентов), который со второй строки (первая строка заголовки) содержит данные для отбора в шаблон.
КонтрагентКод в системеРамочное соглашение 1Рамочное соглашение 2E-mailТелефон
      б) Второй лист - большая таблица с огромным количеством данных. Первый лист соотносится со вторым листом по "Коду в системе" (под одним кодом во втором листе может быть большое количество строк, каждая строка будет иметь свои определенные параметры). Количество строк данных во втором листе ежедневно меняется

2) Книга excel (Шаблон). В данную, книгу-шаблон должны отбираться данные (кроме "Код в системе") в заголовок (шапку) из первого листа книги excel (balances.xlsms), а также все записи, соответсвующие "коду в системе", из второго листа книги.

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

Заранее спасибо  
Страницы: 1
Наверх