Musím si x nadefinovat jako proměnnou?
Jsem začátečník, který programoval jen Karla a něco málo v Pascalu... Z toho, co jste mi napsal jsem dal dohromady toto:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim KeyCells As Range
Dim x As String
Set KeyCells = Range("A1:HB100")
If Not Application.Intersect(KeyCells, Range(Target.Address)) _
Is Nothing Then
For x = 0 To UBound(Target.Cells.Value)
aValue = aValue & ";" & Target.Cells(x).Value
Next
Call Mail_small_Text_Outlook
End If
End Sub
Sub Mail_small_Text_Outlook()
Dim OutApp As Object
Dim OutMail As Object
Dim strbody As String
Set OutApp = CreateObject("Outlook.Application")
Set OutMail = OutApp.CreateItem(0)
For Each cell In ThisWorkbook.Sheets("List1").Range("A1:HB100")
strbody = "Změnila se buňka" & aValue
Next
On Error Resume Next
With OutMail
.To = "@"
.CC = ""
.BCC = ""
.Subject = "Změny v tabulce"
.Body = strbody
.Display
End With
On Error GoTo 0
Set OutMail = Nothing
Set OutApp = Nothing
End Sub
Ale mám obavy, že jsem špatně zadefinoval X a dál se nemůžu pohnout. Pokud použiji v první části (vyvolání makra změnou buňky)
Call Mail_small_Text_Outlook aValue & " Range: " & Target.Address(0, 0) tento kód, vyhodí mi syntax error...
Výstupem by měl být e-mail v tomto tvaru:
Dobrý den, změnila se buňka (Adresa buňky) na hodnotu (Nová hodnota)
citovat