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

Страницы: 1
VBA: не работает таймер
 
Всем привет!

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

Заранее спасибо  
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
 
Всме привет!

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

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

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

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

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

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

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