Hallo Leute,
kann mir jemand helfen mit der Rangsortierung . Es muß nach verschiedenen
Größen sortiert werden = 4 in der Anzahl ( Benutzerdefiniert ),
das heist natürlich mit Formeln.
Hallo Kay,
vielen Dank für die freundliche Rückmeldung.
Mit dem Versand des Blattes „DKB“ als PDF ist das leider nicht so einfach.
Ich kann da nur eine Lösung anbieten, die den Versand über Outlook abwickelt. Outlook verfügt – wie alle Office-Programme – auch über VBA und ist daher auch von Excel her per VBA-Programm ansprechbar.
Das Versandprogramm sieht folgendermaßen aus:
Sub BlattAlsPDFverschicken()
´ Tabellenblatt „DKB“ als PDF verschicken
Dim anlage As String
Dim betreff As String
Dim btn As Button
Dim empfänger As String
Dim mail_text As String
Dim olAktiviert As Boolean
Dim olApp As Object
Dim olMI As Object
Dim pdfDatei As String
Dim pfad As String
Dim rec As Rectangle
Dim wb As Workbook
Dim ws As Worksheet
´##############################################################
´ Hier ggf. Anpassungen vornehmen
betreff = „Spielbericht vom “ & Format$(Date, „dd.mm.yyyy“)
empfänger = „test@test.de“
empfänger = „dieter.klemke@t-online.de“
mail_text = „In der Anlage ist der neue Spielbericht beigefügt.“ & _
vbNewLine & _
„Mit freundlichen Grüßen“ & vbNewLine & _
„Der Platzwart“
´##############################################################
pdfDatei = „DKB.pdf“
Set wb = ThisWorkbook
pfad = wb.Path & „“
Set ws = wb.Worksheets(„DKB“)
For Each btn In ws.Buttons
btn.Delete
Next btn
For Each rec In ws.Rectangles
rec.Delete
Next rec
ws.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=pfad & pdfDatei
anlage = pfad & pdfDatei
´ Outlook aktivieren
On Error Resume Next
Set olApp = GetObject(Class:=“Outlook.Application“)
If Err <> 0 Then
Set olApp = CreateObject(„Outlook.Application“)
olAktiviert = True
End If
On Error GoTo 0
´ Mail versenden
Set olMI = olApp.CreateItem(0) ´ olMailItem = 0
With olMI
.Body = mail_text
.To = empfänger
.Subject = betreff
.Attachments.Add anlage, 1 ´ olByValue = 1
.Send
End With
If olAktiviert Then
´ 30 Sekunden warten, damit Outlook die Mail
´ senden kann, bevor es geschlossen wird.
Application.Wait Time:=Now + TimeSerial(0, 0, 30)
olApp.Quit
End If
Set olMI = Nothing
Set olApp = Nothing
End Sub
Viele Grüße
Dieter Klemke