Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA Tabellenblatt sende

VBA Tabellenblatt sende
06.07.2016 14:33:26
Ahmadi

Hallo liebe VBA-Profies!
Ich habe folgenden Code aus dem Internet runtergeladen, der auch super funktioniert.
Der Code ist einfach und hängt das aktuelle Blatt an Outlook nur an. So will ich das auch. Weil man danach die Email frei und individuell schreiben kann.
Sub TabellenblattVerschicken()
ActiveSheet.Copy
Application.Dialogs(xlDialogSendMail).Show _
"empfänger@mailanbieter.de", "Dienstplan"
End Sub

Allerdings kann nicht die Dateiname automatisch generieren.
Dateiname soll aus folgenden drei Worten Bestehen
Dienstplan_Monat_Gruppenname
Aktueller Monat ist im: Planer!$I$2(Tabelle1)
Und Gruppenname ist im: Planer!$S$2
Planer ist der Blattname, wo sich die Zellen I2 udn S2 befinden.
Ich habe auch einige Codes aus dem Internet runtergeladen und versucht sie anzupassen. Es klappt nicht.
Anscheinend muss ich dabei viele Sachen beachten und ich kenne mich mit VBA nicht aus.
Kann mir jemand vielleicht helfen?
Danke im Voraus
LG
Ahmadi

Anzeige

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Tabellenblatt sende
06.07.2016 14:48:33
Herbert
Hallo Ahmadi,
mit einer Beispiel-Arbeitsmappe könnten man Dir leichter helfen!
Servus

AW: VBA Tabellenblatt sende
06.07.2016 15:14:44
Ahmadi
https://www.herber.de/bbs/user/106806.xls
Danke für die schnelle Antwort.
In diesem Fall soll der Name des Blatts aus drei folgeden Worten bestehen:
Dienstplan,Inhalt der Zelle C1 und Inhalt der Zelle G1.
Wobei Ich es einmal geschafft habe, den Namen zu kreieren. Der Rest hat nicht mehr funktioniert.
In meinem Vesuch wurde aber das Datum (dd.mm.jjjj) gezeigt. Ich wollte die Format auf (MMMM) umstellen, habe ich alles kapput gemacht.
Ich komme auch nicht mehr drauf, wie das für dieses eine Mal geschafft habe, sonst hätte ich den Code hier kopiert.
Danke nochmal
LG
Ahmadi

Anzeige
AW: VBA Tabellenblatt sende
06.07.2016 15:16:50
Herbert
Hast Du das Posting von Uwe nicht gesehen?

AW: VBA Tabellenblatt sende
06.07.2016 14:54:50
UweD
Hallo
- in ein Modul in die Datei Planer.xlsm
Option Explicit 
 
Sub TabellenblattVerschicken() 
    Dim Emp As String, Pfad As String, Datei As String 
    Pfad = "C:\Temp\" 
    Emp = "empfänger@mailanbieter.de" 
    With Workbooks("Planer.xlsm") 
        With .Sheets("Tabelle1") 
            Datei = "Dienstplan_" & .Range("$I$2") & "_" & .Range("$S$2") 
            .Copy 
            ActiveWorkbook.SaveAs Datei 
        End With 
    End With 
    Application.Dialogs(xlDialogSendMail).Show Emp, "Testplan" 
     
End Sub 
 

VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 15 - mit VBAHTML 12.6.0


Gruß UweD

Anzeige
AW: VBA Tabellenblatt sende
06.07.2016 15:42:49
Ahmadi
Ich betätige nach und nach f8
Der Code gibt an der Zeile
with .sheets("Tabelle1") die Fehlemeldung
" Index außerhalb des gültigen Bereiches"
Ich meine Diese Zeile wird noch gelb. Dann wenn ich nochmal f8 betätige kommt die Fehlermeldung.
Was heißt das?

AW: VBA Tabellenblatt sende
06.07.2016 16:28:43
UweD
Hallo nochmal
heißt das Blatt evtl. anders als "Tabelle1" ?
LG UweD

Anzeige
AW: VBA Tabellenblatt sende
06.07.2016 16:42:44
Ahmadi
Mappe Heißt "Dienst-&Urlaubsplaner"
Die Zellen, die Gruppenname und das Datum beinhalten sind in der Tabelle1(Planer).
es sind vier Sheets die monatlich gesendet werden sollen.
Tabelle17(MP)
Tabelle18(MPk)
Tabelle19(MD)
Ich habe auch module aufgegeben und versucht jeweils in den Blättern den Code zu kopieren und dementsprechend die Zellbezüge anpassen, da jeweils das Datum und der Gruppenname in verschiedenen Zellen stehen.
Egal was ich mache, bekomme ich diese Fehlermeldung.
Voll komisch.

Anzeige
AW: VBA Tabellenblatt sende
06.07.2016 21:42:47
UweD
Hallo nochmal
so müsste es passen.
Option Explicit 
 
Sub TabellenblattVerschicken() 
    Dim Emp As String, Pfad As String, Datei As String 
    Dim WB, TB1 
     
    Set WB = Workbooks("Dienst-&Urlaubsplaner.xlsm") 
    Pfad = "C:\Temp\" 
    Emp = "empfänger@mailanbieter.de" 
     
    Set TB1 = WB.Sheets("Tabelle1(Planer)") 
     
    Datei = "Dienstplan_" & TB1.Range("$I$2") & "_" & TB1.Range("$S$2") 
    WB.Sheets(Array("Tabelle17(MP)", "Tabelle18(MPk)", "Tabelle19(MD)")).Copy 
     
    ActiveWorkbook.SaveAs Datei 
    Application.Dialogs(xlDialogSendMail).Show Emp, "Testplan" 
      
End Sub 

VBA/HTML-CodeConverter, AddIn für Office 2002-2016 - in VBA geschrieben von Lukas Mosimann. Projektbetreuung:RMH Software & Media

Code erstellt und getestet in Office 15 - mit VBAHTML 12.6.0


Gruß UweD

Anzeige
AW: VBA Tabellenblatt sende
06.07.2016 16:44:51
Ahmadi
Sorry
Ich Es sind drei Blätter und nicht vier.
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige