>source

배우고 싶습니다 : 플래그 열 (열 'F')이 있습니다 (예의 경우 '1', 아니오의 경우 '0'). 열의 각 셀을 반복하고 싶습니다. 해당 셀의 플래그가 '1'인 경우 문자열 변수를 사용하여 해당 행의 다른 셀에있는 데이터를 ' 1 '플래그.

이 문자열을 사용하여 이러한 문자열로 이메일을 사용자 정의하고 'C'열의 이메일 ID를 사용하여 다른 사용자에게 많은 이메일을 보낼 수 있습니다. Img 지금까지 내 코드는 다음과 같습니다.

Sub Sendmail()
    Dim answer As String
    Dim SubmitLink_BorrowerName As String
    Dim SubmitLink_BookName As String
    Dim SubmitLink_CheckoutDate As String
    Dim KeyCells As Range
    Dim i As Long
    Set KeyCells = Range("F2:F10") 'Range of 'Y/N' for whole column
    SubmitLink_BorrowerName = Range("A2").Value  'SubmitLink contains content of cell B1
    SubmitLink_BookName = Range("B2").Value  'SubmitLink contains content of cell B1
    SubmitLink_CheckoutDate = Range("D2").Value  'SubmitLink contains content of cell B1
    answer = MsgBox("Do you wish to save this change. An Email will be sent to the User", vbYesNo, "Save the change")
    If answer = vbNo Then Cancel = True
    If answer = vbYes Then
        For i = 2 To 20
        If Cells(i, 6).Value = 1 And Not IsEmpty(Cells(i, 6).Value) Then
            Cells(i, 6).Font.Color = vbBlue

        'Open Outlook
        Set OutlookApp = CreateObject("Outlook.Application")
        Set OlObjects = OutlookApp.GetNamespace("MAPI")
        Set newmsg = OutlookApp.CreateItem(olMailItem)
        'Add recipient
        newmsg.Recipients.Add Worksheets("Sheet1").Range("C2").Value
        'Add subject
        newmsg.Subject = "Book: " & SubmitLink_BookName & " overdue" 'Worksheets("Sheet1").Range("F1").Value
        'Add body
        newmsg.Body = "Dear " & SubmitLink_BorrowerName & "," & vbLf & vbLf & "This is a friendly reminder that Book: " & SubmitLink_BookName & " borrowed on " & SubmitLink_CheckoutDate & " has not yet been returned to the PC team." & vbLf & vbLf & "Kindly return this book to the Book shelf" & vbLf & "Regards, " & vbLf & vbLf & "Admin"
        'Display
        newmsg.Display
        newmsg.Send
        MsgBox "Modification confirmd", , "Confirmation"

        End If
    End If

End Sub

미리 감사합니다!


  • 답변 # 1

    다음 i.강한 텍스트를 추가하는 것을 잊었습니다

    If answer = vbYes Then
        For i = 2 To 20
        If Cells(i, 6).Value = 1 And Not IsEmpty(Cells(i, 6).Value) Then
            Cells(i, 6).Font.Color = vbBlue
    
        'Open Outlook
        Set OutlookApp = CreateObject("Outlook.Application")
        Set OlObjects = OutlookApp.GetNamespace("MAPI")
        Set newmsg = OutlookApp.CreateItem(olMailItem)
        'Add recipient
        newmsg.Recipients.Add Worksheets("Sheet1").Range("C2").Value
        'Add subject
        newmsg.Subject = "Book: " & SubmitLink_BookName & " overdue" 'Worksheets("Sheet1").Range("F1").Value
        'Add body
        newmsg.Body = "Dear " & SubmitLink_BorrowerName & "," & vbLf & vbLf & "This is a friendly reminder that Book: " & SubmitLink_BookName & " borrowed on " & SubmitLink_CheckoutDate & " has not yet been returned to the PC team." & vbLf & vbLf & "Kindly return this book to the Book shelf" & vbLf & "Regards, " & vbLf & vbLf & "Admin"
        'Display
        newmsg.Display
        newmsg.Send
        MsgBox "Modification confirmd", , "Confirmation"
    
        End If
     Next i
    End If
    
    

관련 자료

  • 이전 amazon redshift - SQL 쿼리, field_w를 반환합니다 여기서 field_x는 최대입니다-field_y, field_z로 그룹화
  • 다음 dplyr - r - mutate는 자체 쓰기 기능에서 새 열을 생성하지 않습니다