18. Apr 2024, 04:38
VB-fun.de - Beitragsübersicht zum VB-/VBA-Forum-Archiv 0416
  E03: Problem mit Mailauswertung
 Von Michael1988
 eMail
 Am 29. Januar 2009 um 17:31:59
 Frage Es geht sich darum.

Wenn man mir eine Email in Excel schreibt mit einem Speziellen Betreff soll eine Automatische Antwort mit Inhalt aus einer Excel Tabelle generiert werden.

(Meine Lösung: Regel beim eingang einer Email mit ..... im Betreff ->Makro ausführen.)

Das wäre dann diese Makro...

Sub ShowStatsinExcel() 
Dim myEmail As Outlook.MailItem
Dim Result()
Dim objExcel As Object
Dim objWB As Object
Dim lngCount As Long
'Outlook
lngCount = Application.ActiveExplorer.Selection.Count + 1
ReDim Result(1 To lngCount, 1 To 2)
For Each myEmail In Application.ActiveExplorer.Selection
Result(1, 1) = "SenderEmailAddress"
Result(1, 2) = "ReceivedTime"
With myEmail
i = i + 1
Result(i, 2) = Format(myEmail.ReceivedTime, "dd.mm.yyyy")
Result(i, 1) = .SenderEmailAddress
End With
Next

'Excel
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
Set objWB = objExcel.Workbooks.Add
Workbooks.Open ("C:\Dokumente und Einstellungen\r882948\Desktop\Mappe1.xls")

With objExcel.ActiveSheet
lngCount = lngCount - 1
.Range("A1:B" & lngCount) = Result
.Range("C2").FormulaR1C1 = "=RC[-2]&RC[-1]"
.Range("D2").FormulaR1C1 = "=COUNTIF(R2C3:R" & lngCount & " C3,RC[-1])"
.Range("C2:D2").AutoFill Destination:=Range("C2:D" & lngCount)
.Range("C2:C" & lngCount).Value = Range("D2:D" & lngCount).Value2
.Columns(4).Delete Shift:=xlToLeft
.Range("C1").FormulaR1C1 = "Anzahl"
.Range("A1").CurrentRegion.AdvancedFilter Action:=xlFilterInPlace, Unique:=True
.Columns("A:C").AutoFit
.Range("A1").CurrentRegion.Sort Key1:=Range("A2"), Order1:=xlAscending, Key2:=Range("B2") _
, Order2:=xlAscending, Header:=xlGuess, OrderCustom:=1, MatchCase:= _
False, Orientation:=xlTopToBottom

End With

Set objWB = Nothing
Set objExcel = Nothing

End Sub
Dieses Makro soll Auflisten wie viele Emails je Datum von wem gekommen sind. Dies soll dann in eine Excel Tabelle geschrieben werde.

Dabei tritt jedoch des öfteren eine FM auf und er fasst die liste nicht zusammen.

Er mekert an:

Quellcode
1 .Range("C2:D2").AutoFill Destination:=Range("C2:D" & lngCount)


rum.

zb. Max Mustermann |12 | 29.01.2009

Anschliesend soll ein Marko gestartet werden das diese auswertung an eine bestimmte Stelle innerhalb des Excelsheets kopiert.


	Sub kopierewerte() 
Dim gef As Range
Range("B2:B13").Copy
Sheets("Tabelle2").Select
Set gef = Cells.Find ("????")
If Not gef Is Nothing Then
gef.Offset(1, 0).PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
Else
MsgBox "Das Datum wurde nicht Gefunden"
End If
End Sub
Dabei ist meine Frage. Wie lasse ich das "kopierewerte" starten sobald das erste Makro fertig ist?

Wenn ich die Felder in der Tabelle in der er suchen soll als Date Formatiert habe findet er diese nicht.
[ VB-/VBA-Forum | Archiv 0416 | Archiv-Übersicht ]
 Antworten
E03: Problem mit Mailauswertung - Michael1988 29. Januar 2009 um 17:31:59
Re: Problem mit Mailauswertung - FreakFrossard 30. Januar 2009 um 15:44:36
Re: Problem mit Mailauswertung - Michael1988 31. Januar 2009 um 09:11:18
Re: Problem mit Mailauswertung - FreakFrossard 03. Februar 2009 um 16:42:54
Re: Problem mit Mailauswertung - Michael1988 04. Februar 2009 um 12:13:18

Zum Seitenanfang

Startseite | VB-/VBA-Tipps | Projekte | Tutorials | API-Referenz | Komponenten | Bücherecke | Gewinnspiele | VB-/VBA-Forum | DirectX | DirectX-Forum | VB.Net | VB.Net-Forum | Chat | Spielplatz | Links | Suchen | Stichwortverzeichnis | Feedback | Impressum