VBA - Msg - 单元格的值

时间:2015-01-30 15:28:09

标签: vba cell msg

我想在消息中添加每个非空单元格的值来发送,但我不知道哪个是好的语法?

感谢您的建议!

Jean-Marc

 Private Sub CommandButton6_Click()
    Dim MailAd As String
    Dim Msg As String
    Dim Subj As String
    Dim URLto As String
    Dim Nom As String
    Nom = "User name"
    Dim Pole As String
    Pole = " POLE"
    Dim Texte As String
    Texte = " Thanks for the informations you send to me  "


    'Sélectionne la cellule correspondant à l'adresse mail de la ligne :
    If ComboBox1.ListIndex <> -1 Then Cells(ComboBox1.ListIndex + 2, 8).Select
    'Le mail est adressé sur la base de la cellule active :
    MailAd = TextBox7


    Range("A2:J32").Select

    Selection.Copy

    Dim StrBody As String
    StrBody = Sheets("FICHIER ADRESSES").Range("A2").Value

    'Copie = TextBox.2  'bien mentionner le n° de la texbox
    Subj = "Message à l'attention de " 'Objet du message automatique mais on peut faire réféence à une TextBox
    Msg = Msg & "Bonjour " & TextBox2.Text & ",%0D%0A %0D%0A" 'Corps du message
    'Msg = Msg & "Bonjour " & Selection.Insert & ",%0D%0A %0D%0A"
    Msg = Msg & Texte & StrBody & ",%0D%0A %0D%0A" & Nom & Pole & "%0D%0A %0D%0A"   'Corps du message
    URLto = "mailto:" & MailAd & "?subject=" & Subj & "&body=" & Msg & "&Cc=" '& copie
    ActiveWorkbook.FollowHyperlink Address:=URLto
    End Sub

1 个答案:

答案 0 :(得分:1)

假设您正在讨论范围A2:J32并希望值显示在您的“msg”字符串中:(这是未经测试的)

    Private Sub CommandButton6_Click()
        Dim MailAd As String
        Dim Msg As String
        Dim Subj As String
        Dim URLto As String
        Dim Nom As String
        Nom = "User name"
        Dim Pole As String
        Pole = " POLE"
        Dim Texte As String
        Texte = " Thanks for the informations you send to me  "


        'Sélectionne la cellule correspondant à l'adresse mail de la ligne :
        If ComboBox1.ListIndex <> -1 Then Cells(ComboBox1.ListIndex + 2, 8).Select
        'Le mail est adressé sur la base de la cellule active :
        MailAd = TextBox7


        Range("A2:J32").Select

    Dim rngCell as Range, sNonEmpty as string

    For each rngCell in Range("A2:J32")
        if rngcell.value <> "" then snonempty = _
              iif(snonempty="",rngcell.value,snonempty & ", " & rngcell.value)
    Next

      Selection.Copy

        Dim StrBody As String
        StrBody = Sheets("FICHIER ADRESSES").Range("A2").Value

        'Copie = TextBox.2  'bien mentionner le n° de la texbox
        Subj = "Message à l'attention de " 'Objet du message automatique mais on peut faire réféence à une TextBox
        Msg = Msg & "Bonjour " & TextBox2.Text & ",%0D%0A %0D%0A" 'Corps du message
        'Msg = Msg & "Bonjour " & Selection.Insert & ",%0D%0A %0D%0A"
        Msg = Msg & Texte & StrBody & ",%0D%0A %0D%0A" & Nom & Pole & "%0D%0A %0D%0A" & VBNEWLINE & _
"YOUR VALUES: " & sNonEmpty    'Corps du message
        URLto = "mailto:" & MailAd & "?subject=" & Subj & "&body=" & Msg & "&Cc=" '& copie
    ActiveWorkbook.FollowHyperlink Address:=URLto
        End Sub