VBA - 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

    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 ответ

Предположим, вы говорите о диапазоне 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
Другие вопросы по тегам