
Ja by som to urobil v dvoch krokoch.
Najprv by som "sústredil" všetky "zvýraznené (vybrané)bunky" do nového temp-listu-súboru,
Za druhé - poslal klasicky tento temp-list-súbor kam treba.

No oano to tak asi bude, jen nevím, jak ve VB scriptu zadám "pouze vybrané buňky".
Našel jsem toto :
Sub ExcelFollowHyperlink()
Dim rngOblast As Range
Dim rngBunka As Range
Dim strAdresat As String
Dim strPredmet As String
Dim strObsah As String
Dim strRet As String
'náhrada vbLf
Const cstrLf As String = "%0A"
'adresát
strAdresat = "nekdo@nekde.cz"
'předmět
strPredmet = "Výpis z listu"
'zdroj obsahu
Set rngOblast = Range("rngObsah")
'hlavička obsahu
strObsah = rngOblast.Parent.Name & cstrLf
'načtení adres a obsahů jednotlivých buněk oblasti
For Each rngBunka In rngOblast
strObsah = strObsah & cstrLf & rngBunka.Address(0, 0) & ": " & _
rngBunka.Text
Next rngBunka
'sestavení řetězce pro metodu FollowHyperlink
strRet = "mailto:" & strAdresat & "?"
'předmět
strRet = strRet & "subject=" & strPredmet & "&"
'obsah
strRet = strRet & "body=" & strObsah
'odeslání e-mailu
ActiveWorkbook.FollowHyperlink (strRet)
'simulované potvrzení dialogu (Odeslat, ALT+A)
'Microsoft Outlook 2010 CZ
Application.Wait (Now + TimeValue("0:00:05"))
SendKeys "%a", True
End Sub
Ale nevím, jak tuto rutinu spojit s tlačítkem a jak změnit pouze vybrané buňky...

Toto Vám vráti obsah všetkých označených buniek v celom zošite, keďže píšete "kdekoliv v sešitu(nepravidelně)" :
Function OznaceneBunky() As String
Dim WS As Worksheet, Bunka As Range, Text As String, bIndex As Integer
Application.ScreenUpdating = False
bIndex = ThisWorkbook.ActiveSheet.Index
For Each WS In ThisWorkbook.Worksheets
WS.Activate
For Each Bunka In Selection.Cells
Text = Text & Bunka & vbNewLine
Next Bunka
Next WS
ThisWorkbook.Worksheets(bIndex).Activate
OznaceneBunky = Text
Application.ScreenUpdating = True
End Function
Tento text potom použite v texte mailu, či už pomocou Outlook alebo CDO, každopádne obe možnosti nájdete tu na fóre.
Ale vidím problém v tom, ako Excel zistí, či sa jedná o "označenú" jednobunkovú oblasť, a teda ju má zahrnúť, alebo je to proste iba kurzor, a teda by sa zahrnúť nemala. Jedine vylúčiť listy, v ktorých je oblasť iba jedna bunka...

Díky za odpověď, jen nevím jak to zkomponovat dohromady a přidat jako makro k tlačítku.....
V tomhle asi nikdy nebudu doma....
S tou buňkou bych si starost nedělal, většinou v mém případě si na toto dávám pozor, takže by se nemělo stat, že bude vybrána jiná buňka.
PS: Hledal jsem něco I tady co by mi pomohlo ale asi blbě, nic jsem nenašel...

K tomu CDO, mám příklad ...
Public Function Odesli_eml(Adresat, Zprava)
Set objEmail = CreateObject("CDO.Message")
objEmail.From = "Nekdo@NoReply.com"
objEmail.To = Adresat
objEmail.Cc = "nekdo.nejaky@server.com"
objEmail.Subject = "Pokus"
objEmail.HTMLbody = Zprava
objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusing") = 2
objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "adresa SMTP serveru"
objEmail.Configuration.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = 25
objEmail.Configuration.Fields.Update
objEmail.Send
End Function
V tomto případě to heslo nevyžaduje, ale jako SMTP máme použit firemní server.
Další možnost je pomocí knihoven Outlloku, tzn. ve VBA je třeba přidat referenci na Microsoft Outlook XX.X Object Library. Tady může nastat problém např. když vytvoříte v Office 2013, tak ve 2007 fungovat nebude, jelikož je tam natvrdo reference na novější knihovnu.
Příklad...
Dim oOApp As Outlook.Application
Dim oOMail As Outlook.MailItem
Set oOApp = CreateObject("Outlook.Application")
Set oOMail = oOApp.CreateItem(olMailItem)
With oOMail
.To = EML_RECEIVER
.CC = EML_COPY
.Subject = EML_SUBJECT
.HTMLBody = text
.Attachments.Add ThisWorkbook.Path & "\Last.ppsx"
.Send
End With
V tomto případě .HTMLBody = text, jako text je třeba použít html text (v podstatě jako byste psali webovou stránku), tzn. včetně formátování
Místo toho je možné použít pouze .Body = text, v takovém případě text bude prostý text.
Do .Attachments pak můžete dát odkaz na konkrétní soubor, který můžete vygenerovat před tím právě z těch vybraných buněk.
Záleží kolik toho je, pokud hodně tak bych šel cestou přílohy, pokud ne moc hodně, tak formou formátování HTML jako webová stránka přímo v textu emailu.
M@