Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
Auto EMail versand geht bis Excel 2003; Ab 2007 Probleme?
zurück: Per Autofilter nach Monat und Jahr filtern weiter: aus Excel Outlook Aufgabe zuweisen Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Feedback Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
Sir-ACE
zwischen Einsteiger und Excel-Kenner


Verfasst am:
23. Jan 2013, 10:04
Rufname: Andy


Auto EMail versand geht bis Excel 2003; Ab 2007 Probleme? - Auto EMail versand geht bis Excel 2003; Ab 2007 Probleme?

Nach oben
       Version: Office 2007

Hallo zusammen,

ich komme im Moment nicht weiter.
Es gibt hier eine Exceldatei mit der die Dienstpläne erstellt werden. Die Datei wurde seiner Zeit wohl in Excel 2000 erstellt. Bis Excel 2003 läuft alles einwandfrei.
Jetzt müssen wir auf Excel 2007 umstellen, ab hier gibt es Probleme.

Das Makro macht folgendes.
Es wird ein neues Excelsheet erstellt, wo die Mitarbeiter Nachname, Vorname eingetragen werden. Jetzt fängt das Makro an aus der ersten Zeile mit dem ersten Mitarbeiter ein Exceldatei zu erzeugen mit angabe des Mitarbeiters unter C:\Temp dann soll sich Outlook öffnen und die Mail an den Mitarbiter senden
Empfänger= Nachname, Vorname.

Mit Excel 2003 hat es einwandfrei funktioniert, mit 2007 wird immer eine Mail geöffnet die keinen Empfänger hat. Obwohl abgefragt wird:

"If Worksheets("Dienstplan").Cells(zaehlerMAy, 1).Value <> "" Then
zaehlerMAy= 4
Somit müsste in A4 der Mitarbiter stehen und das tut er auch. Dennoch wird zuerst eine leere Mail erzeugt und auch eine leere Exceldatei, also mit leeren Mitarbeiternamen.

Jemand eine Idee?
Ich habe den Teil, den ich denke der das beinhaltet mal in Rot und Fett eingefärbt.

Hier das ganze Script wie es zur Zeit läuft:

Zitat:

Private Sub CommandButton8_Click() ' PEP per Mail an MA


' Diese Funktion versendet an jeden Mitarbeiter eine Datei mit der aktuellen Pep.
'Sub Excel_Sheet_via_Outlook_Senden()

Dim Nachricht As Object, OutApp As Object
Dim SavePath As String
Dim AWS As String
Dim Empfaenger As String
Dim ZaehlerX As Integer
Dim ZaehlerY As Integer
Dim zaehlerMAx As Integer
Dim zaehlerMAy As Integer
Dim Arbeitsmappe As Variant
Dim zaehlerAM As Integer
Dim Farbe As Integer
Dim ZaehlerbegrenzungY As Integer
Dim ZaehlerbegrenzungX As Integer
Dim DatumVon As Date
Dim DatumBis As Date
Dim Dateiname As String
Dim Worksheet As String
Dim Subject As String
Dim Body As String
Dim BemerkungY As Integer
Dim KW As String


Worksheet = "MA-Details"


Arbeitsmappe = Array("null", "Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag", "Sonntag")

ZaehlerX = 6
ZaehlerY = 22
zaehlerMAx = 0
zaehlerMAy = 14
ZaehlerbegrenzungY = 187
ZaehlerbegrenzungX = 71
zaehlerAM = 1

Farbe = PEPerstellen() ' Ruft nur die Funktion zum PEP erstellen auf. Variable ist in diesem Fall nicht wichtig! Nur temporäre Nutzung!

While ZaehlerY < ZaehlerbegrenzungY

' Sollten Inhalte vorhanden sein, werden diese gelöscht
' Setzt die Inhalte der Mitarbeiter Details zurück inkl. Farbe und Rahmen.
Worksheets("MA-Details").Range("B14:O78").Value = ""
Worksheets("MA-Details").Range("B14:O78").Interior.ColorIndex = 37
Worksheets("MA-Details").Range("B14:O78").Borders.LineStyle = xlContinuous
Worksheets("MA-Details").Range("A8:N8").Value = ""
Worksheets("MA-Details").Range("Q34:S60").Value = ""

If Worksheets(Arbeitsmappe(zaehlerAM)).Cells(ZaehlerY, 2) <> "0" Then

If Worksheets(Arbeitsmappe(zaehlerAM)).Cells(ZaehlerY, 3) <> "inaktiv" Then

For zaehlerAM = 1 To 7 Step 1

' Setzt die Zähler für den jeweiligen Tag und Mitarbeiter zurück
zaehlerMAy = 14
ZaehlerX = 6

' Definiert den Empfänger, an den der Einsatzplan versendet werden soll
Empfaenger = Worksheets(Arbeitsmappe(zaehlerAM)).Cells(ZaehlerY, 2).Value
Worksheets("MA-Details").Cells(3, 3).Value = Empfaenger


' Setzt ProFlex des MA
'Worksheets("MA-Details").Range("I3").Value = Worksheets("Statistik").Cells(ZaehlerY - 12, 148).Value

' Definiert die Spalten in der "MA-Details", damit die Daten am richtigen Platz landen
If zaehlerAM = 1 Then
zaehlerMAx = 2
ElseIf zaehlerAM = 2 Then
zaehlerMAx = 4
ElseIf zaehlerAM = 3 Then
zaehlerMAx = 6
ElseIf zaehlerAM = 4 Then
zaehlerMAx = 8
ElseIf zaehlerAM = 5 Then
zaehlerMAx = 10
ElseIf zaehlerAM = 6 Then
zaehlerMAx = 12
ElseIf zaehlerAM = 7 Then
zaehlerMAx = 14
Else
MsgBox ("Fehler bei der Mappenzuweisung")
End If


While ZaehlerX < ZaehlerbegrenzungX

Worksheets("MA-Details").Cells(zaehlerMAy, zaehlerMAx).Value = Worksheets(Arbeitsmappe(zaehlerAM)).Cells(ZaehlerY, ZaehlerX).Value 'Setzt den Inhalt der PEP in die MA Übersicht
Farbe = Faerben(Worksheets(Arbeitsmappe(zaehlerAM)).Cells(ZaehlerY, ZaehlerX).Value) 'Ruft die Function zum Färben des Zellenhintergrundes auf
Worksheets("MA-Details").Cells(zaehlerMAy, zaehlerMAx).Interior.ColorIndex = Farbe ' Setzt den Zellenhintergrund auf die entsprechende Farbe
Worksheets("MA-Details").Cells(zaehlerMAy, zaehlerMAx).Borders.LineStyle = xlContinuous ' Setzt um die Zelle einen Rahmen


ZaehlerX = ZaehlerX + 1 ' Zaehler Waagerecht in der jeweiligen "KW_Tag" Mappe
zaehlerMAy = zaehlerMAy + 1 'Zaehler Senkrecht in der "MA-Details" Mappe. Setzt die waagerechte Tabelle in eine senkrechte Tabelle um

Wend


Next zaehlerAM

' Zaehler für die Einsatzzeiten definieren
zaehlerMAy = 4
zaehlerMAx = 2

' Überträgt die Dienstplandaten in die PEP des einzelnen Mitarbeiter

While zaehlerMAy < 200

If Worksheets("Dienstplan").Cells(zaehlerMAy, 1).Value <> " " Then

If Worksheets("Dienstplan").Cells(zaehlerMAy, 1).Value = Empfaenger Then

For ZaehlerX = 1 To 14 Step 1

Worksheets("Ma-Details").Cells(8, ZaehlerX).Value = Worksheets("Dienstplan").Cells(zaehlerMAy, zaehlerMAx).Value
zaehlerMAx = zaehlerMAx + 1

Next ZaehlerX

zaehlerMAy = 200

Else

zaehlerMAy = zaehlerMAy + 1

End If

Else

zaehlerMAy = 200

End If



Wend

BemerkungY = 4
MADetailsY = 34

' Setzt die Bemerkungen in die Details
While BemerkungY < 1000

If Worksheets("Bemerkungen").Cells(BemerkungY, 2).Value = Empfaenger Then

Worksheets("MA-Details").Cells(MADetailsY, 17).Value = Worksheets("Bemerkungen").Cells(BemerkungY, 1).Value ' Datum
Worksheets("MA-Details").Cells(MADetailsY, 18).Value = Worksheets("Bemerkungen").Cells(BemerkungY, 6).Value ' eingetragen von
Worksheets("MA-Details").Cells(MADetailsY, 19).Value = Worksheets("Bemerkungen").Cells(BemerkungY, 7).Value ' Bemerkung

BemerkungY = BemerkungY + 1
MADetailsY = MADetailsY + 1

ElseIf Worksheets("Bemerkungen").Cells(BemerkungY, 2).Value = "" Then

BemerkungY = 1000

Else

BemerkungY = BemerkungY + 1

End If

Wend

' Hier wird das Datum "von" & "bis" übergeben
DatumVon = Worksheets("MA-Details").Range("A5").Value
DatumBis = Worksheets("MA-Details").Range("M5").Value

' Definiert die Kalenderwoche
KW = Worksheets("ControllCenter").Range("B2").Value

'Definiert den Dateinamen
Dateiname = "Dienstplan " & Empfaenger & " " & DatumVon & " bis " & DatumBis & ".xlsx"

'Definiert den Betreff
Subject = "Ihr Dienstplan KW " & KW & " vom " & DatumVon & " bis " & DatumBis

'Definiert den Body
Body = "Hallo " & Empfaenger & "," & vbCrLf & vbCrLf & "anbei erhalten Sie Ihren Dienstplan für den oben genannten Zeitraum." & vbCrLf & "Sofern Unklarheiten bestehen, wenden Sie sich gern an mich." & vbCrLf & " Auch hier sieht es erstmal gut aus." & vbCrLf & vbCrLf & "Ihr Planungsteam"


' Hier muss die Mail versendet werden. Liegt nach der "FOR-Schleif", damit erst die Tabelle erstellt wird. Deshalb nach dem "Next"!
Mail = Mailsend(Empfaenger, DatumVon, DatumBis, Worksheet, Dateiname, Subject, Body, ActiveWorkbook.Name)


ZaehlerY = ZaehlerY + 1
zaehlerAM = 1 'Setzt den Zähler für die Arbeitsmappe zurück.
BemerkungY = 4
MADetailsY = 34

Else

ZaehlerY = ZaehlerY + 1

End If


Else

ZaehlerY = ZaehlerbegrenzungY

End If


Wend

End Sub


Vielen Dank für Eure Hilfe, da ich damit wohl nicht weiter komme.

Mit freundlichen Grüßen

Andy
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Diese Seite Freunden empfehlen

Seite 1 von 1
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Excel Formeln: fehlerhafte Datumsberechnungen bei Excel 2007 7 csaf2376 2200 21. Okt 2007, 15:08
Thomas Ramel fehlerhafte Datumsberechnungen bei Excel 2007
Keine neuen Beiträge Excel Formeln: Excel 2003: Datum im Format Mi 01, Di 02 usw. 4 Gast 606 24. Aug 2007, 17:10
Gast Excel 2003: Datum im Format Mi 01, Di 02 usw.
Keine neuen Beiträge Excel Formeln: Preisvergleich - 3 Spalten - kompatibel zu Excel 2003 2 Gast 2231 07. Aug 2007, 14:03
vocke Preisvergleich - 3 Spalten - kompatibel zu Excel 2003
Keine neuen Beiträge Excel Formeln: Excel 2003 - Prüfung ob Formel eingegeben wurde 3 Monitor 1075 13. Mai 2007, 23:46
Gast Excel 2003 - Prüfung ob Formel eingegeben wurde
Keine neuen Beiträge Excel Formeln: Felder mit E-Mail summieren 2 goldfinger 479 03. Mai 2007, 14:33
goldfinger Felder mit E-Mail summieren
Keine neuen Beiträge Excel Formeln: Excel 2003-- automatisches Berechnen 2 bonifazius 989 19. Apr 2007, 16:32
Gast Excel 2003-- automatisches Berechnen
Keine neuen Beiträge Excel Formeln: Excel 2003: Summe innerhalb eines Zeitraums 8 SuchtFaktor 1497 29. März 2007, 21:55
SuchtFaktor Excel 2003: Summe innerhalb eines Zeitraums
Keine neuen Beiträge Excel Formeln: Suche Formel für Excel 2007 ???? 5 Biker1602 776 07. März 2007, 20:15
Biker1602 Suche Formel für Excel 2007 ????
Keine neuen Beiträge Excel Formeln: Anfänger - Auswahlliste - ausgabe extra zelle Exel 2007 1 wotoma 1477 03. März 2007, 14:11
ae Anfänger - Auswahlliste - ausgabe extra zelle Exel 2007
Keine neuen Beiträge Excel Formeln: Platzierung in einer Tabelle berechnen (Excel 2007 Beta) 3 Fragile 18358 02. März 2007, 22:07
Gast Platzierung in einer Tabelle berechnen (Excel 2007 Beta)
Keine neuen Beiträge Excel Formeln: automatisches Datum (Bsp.: 01.01. - 31.01.2007) einfügen 3 siggi_ 974 25. Feb 2007, 18:58
siggi_ automatisches Datum (Bsp.: 01.01. - 31.01.2007) einfügen
Keine neuen Beiträge Excel Formeln: Formeln Deaktivieren bei Excel 2007 2 Netonnet 4145 04. Feb 2007, 00:14
Netonnet Formeln Deaktivieren bei Excel 2007
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Expression Web Forum