Thema Datum  Von Nutzer Rating
Antwort
Rot VBA Codes zusammenführen/Anordnen
29.04.2020 10:59:19 Chris
NotSolved
02.05.2020 18:32:55 Ahmad Zargar
NotSolved

Ansicht des Beitrags:
Von:
Chris
Datum:
29.04.2020 10:59:19
Views:
1383
Rating: Antwort:
  Ja
Thema:
VBA Codes zusammenführen/Anordnen

Guten Morgen zusammen,

 

Ich habe hier zwei funktionierende VBA Codes, die über ein Formulassteuerelement gestartet werden. Nun würde ich die beiden Codes in leicht geänderter Reihenfolge zusammenführen, sodass der Code nur noch über einen Button gestartet wird. Anbei mal mein Wunsch:

 

1.

Private Sub CommandButton1_Click()


'Kopieren der Daten für die Umschläge
   Worksheets("Auswahllisten").Range("G2:G105").Copy
   Worksheets("Daten Umschläge").Range("A2").PasteSpecial xlPasteValues
   Worksheets("Eingabetabelle").Range("H2:H105").Copy
   Worksheets("Daten Umschläge").Range("B2").PasteSpecial xlPasteValues
   Worksheets("Eingabetabelle").Range("I2:I105").Copy
   Worksheets("Daten Umschläge").Range("C2").PasteSpecial xlPasteValues
'Kopieren der Daten für BB
   Worksheets("Auswahllisten").Range("G2:G105").Copy
   Worksheets("Daten BB").Range("A2").PasteSpecial xlPasteValues
   Worksheets("Eingabetabelle").Range("D2:D105").Copy
   Worksheets("Daten BB").Range("B2").PasteSpecial xlPasteValues
   Worksheets("Auswahllisten").Range("H2:H105").Copy
   Worksheets("Daten BB").Range("C2").PasteSpecial xlPasteValues
'Duplikate entfernen
   Worksheets("Daten Umschläge").Range("$A$1:$G$105").RemoveDuplicates Columns:=1, Header:=xlYes

2. Option Explicit
 
Private MYPATH As String
 
Sub MacroMitDeinemFormularSteuerelementVerknuepfen()
    Dim sText As String
       
    MYPATH = Environ("temp")
    
    sText = "<div>Sehr geehrte Damen und Herren,<br>"
    sText = sText & "<p>anbei die Daten .</p>"
    sText = sText & "<br>""</div>"
       
       
    Call SendSheetOutlook( _
                            "Betreffzeile", _
                            "Mailadresse", _
                            "", _
                            sText)
End Sub
 
Private Sub SendSheetOutlook(sSubject As String, sTo As String, sCC As String, ByVal sText As String)
Dim olApp         As Object
Dim AWS           As String
Dim olOldBody     As String
   
'define temporary Path and Filename
AWS = MYPATH & "\" & Format(Date, "YYYYMMDD") & "_" & Format(Time, "hhmmss") & "_" & _
WorksheetFunction.Substitute(ActiveWorkbook.Name, ".xlsm", "")
   
'export File as PDF
Worksheets(4).ExportAsFixedFormat Type:=xlTypePDF, Filename:=AWS, Quality:=xlQualityStandard, _
IncludeDocProperties:=True, IgnorePrintAreas:=False, OpenAfterPublish:=False
AWS = AWS & ".pdf"
   
'Make Email
Set olApp = CreateObject("Outlook.Application")
   With olApp.CreateItem(0)
             .GetInspector.Display
             olOldBody = .htmlBody
             .To = sTo
             .cc = sCC
             .Subject = sSubject
             .htmlBody = sText & olOldBody
            .Attachments.Add AWS
   End With
      
'remove TEMP file
'********************************
'wenn du das PDF behalten möchtest, diese Zeile auskommentieren!
'sonst wird das temporäre PDF wieder gelöscht
'Kill AWS
'********************************

3.

'Datei Speichern und beenden
    'ActiveWorkbook.SaveCopyAs "C:\Dateipfad\liste_" & Format(Now, "dd.mm.yyyy") & ".xlsm"
    'ThisWorkbook.Saved = True
    'Application.Quit

End Sub

 

Die Nummerierung soll die Reihenfolge darstellen. Ich bin gerade am Ende meines Lateins. Und Mase, falls du das Liest, ja das solltest du kennen ;)

 

Danke schon mal vorab und lieb Grüße

 

Chris

 

PS: ich hoffe das macht nicht nur in meinem Kopf Sinn.

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:

 
 

  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot VBA Codes zusammenführen/Anordnen
29.04.2020 10:59:19 Chris
NotSolved
02.05.2020 18:32:55 Ahmad Zargar
NotSolved