2017-10-11 3 views
0

Je suis un peu coincé avec ce programme VBA pour remplir un e-mail Outlook à partir d'une cellule sélectionnée. Les informations pour chaque ligne est la suivante:VBA remplir email avec la ligne d'information

  • Colonne A: Email
  • Colonne B: Nom
  • Colonne C: Message

J'ai cellule référençant des problèmes B et C après avoir sélectionné un e-mail dans la colonne A et l'initialisation de la macro. mon code VBA actuel ressemble à ceci:

Sub populateEmail() 
Dim outApp, myItem, myAddress, bodyString, location 
Set myAddress = Selection 
Set outApp = CreateObject("Outlook.Application") 
Set myItem = outApp.CreateItem(0) 


'populate bodyString with information on selected row 


With myItem 
    .Subject = "subject" 
    .To = myAddress 
    .Body = bodyString 
    .Display 
End With 

End Sub 

Comment puis-je référencer les cellules adjacentes de la cellule sélectionnée? Il semble que l'utilisation d'activatecell.Address soit la bonne façon, mais j'ai été bloqué en essayant de le configurer.

Merci pour l'aide

+0

Exactement ce que je cherchais, merci – mag776

Répondre

0

Si la cellule sélectionnée se trouve dans la colonne A (que je suppose que votre macro se fonde sur en fonction de votre Set myAddress = Selection) puis d'autres colonnes peuvent être facilement référencés en utilisant la propriété Offset.

Donc la colonne B pourrait être référencée en utilisant Selection.Offset(0, 1), et la colonne C pourrait être référencée en utilisant Selection.Offset(0, 2).

Vous pouvez donc créer une chaîne pour le corps de votre e-mail en utilisant quelque chose comme:

bodyString = "Dear " & Selection.Offset(0, 1).Value & "," & vbCrLf & _ 
      Selection.Offset(0, 2).Value