Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1240to1244
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

ActiveSheet.Shapes.Delete | Herbers Excel-Forum

ActiveSheet.Shapes.Delete
19.12.2011 10:34:28
Heinz H.

Hallo Leute,im Forum
Im unteren Code wird aus einem Sheet eine Temp.Datei erzeugt,und per Outlook 2010 versendet.
Es funktioniert BIS auf "ActiveSheet.Shapes("Mail1").Delete"
Es kommt die Fehlermeldung
"Der angegebene Wert ist außerhalb des zulässigen Bereichs"
Ich möchte die erstellte Temp.Datei ohne Shapes versenden.
Hätte dazu bitte jemand eine Hilfestellung?
Danke Heinz

Option Explicit
Sub Heinz1_Click()
Application.ScreenUpdating = False
Dim Nachricht As Object, OutApp As Object
Set OutApp = CreateObject("Outlook.Application")
Dim AWS As String, wksMail As Worksheet
Set wksMail = Sheets("Personalbesetzung") 'zu versendendes Blatt
AWS = Environ("USERPROFILE") & "\" & wksMail.Name & ".xls"
'temporäre Mappe erstellen
wksMail.Copy
With ActiveWorkbook
ActiveSheet.Shapes("Mail1").Delete
'########### Neu
Call BlattSchutz_Aufheben
ActiveSheet.Range("W5:Z19,Z40,B51:B95,Y51:Z72").Select
Selection.Interior.ColorIndex = xlNone
Selection.ClearContents
'ActiveSheet.Range("W5").Select
With Selection.Validation
.Delete
.Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator _
:=xlBetween
.IgnoreBlank = True
.InCellDropdown = True
.ShowInput = True
.ShowError = True
End With
Selection.Interior.ColorIndex = xlNone
Selection.Font.ColorIndex = 0
ActiveWindow.SmallScroll Down:=42
ActiveSheet.Range("Y51:Z72").Select
Selection.Interior.ColorIndex = xlNone
Selection.Font.ColorIndex = 0
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
Selection.Borders(xlEdgeLeft).LineStyle = xlNone
Selection.Borders(xlEdgeTop).LineStyle = xlNone
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
Selection.Borders(xlEdgeRight).LineStyle = xlNone
Selection.Borders(xlInsideVertical).LineStyle = xlNone
Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
ActiveWindow.SmallScroll Down:=-93
ActiveSheet.Range("W5").Select
.SaveAs AWS
.Close
End With
Application.Visible = True
Set Nachricht = OutApp.CreateItem(0)
With Nachricht
.To = "heinzholzmann@gmx.at"
.Cc = "heinz_holzmann@aon.at"
.Subject = "Personalbesetzung KE " & "   " & "Schicht" & "  " & Worksheets(" _
Personalbesetzung").Cells(5, 21) & "     " & Worksheets("Personalbesetzung").Cells(5, 17)
.Attachments.Add AWS
.Body = "Mit freundlichen Grüssen" & vbNewLine & "  " & Worksheets("Personalbesetzung"). _
Cells(5, 11)
.Display
End With
Set OutApp = Nothing
Set Nachricht = Nothing
Kill AWS 'temporäre Mappe löschen
Application.ScreenUpdating = True
End Sub

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ActiveSheet.Shapes.Delete
19.12.2011 11:06:09
Rudi Maintaire
Hallo,
teste mal:
Sub Heinz1_Click()
Application.ScreenUpdating = False
Dim Nachricht As Object, OutApp As Object
Dim AWS As String, wksMail As Worksheet
Set OutApp = CreateObject("Outlook.Application")
Set wksMail = Sheets("Personalbesetzung") 'zu versendendes Blatt
AWS = Environ("USERPROFILE") & "\" & wksMail.Name & ".xls"
'temporäre Mappe erstellen
wksMail.Copy
With ActiveSheet
.Shapes("Mail1").Delete
'########### Neu
Call BlattSchutz_Aufheben
With .Range("W5:Z19,Z40,B51:B95,Y51:Z72")
.Interior.ColorIndex = xlNone
.ClearContents
With .Validation
.Delete
.Add Type:=xlValidateInputOnly, AlertStyle:=xlValidAlertStop, Operator _
:=xlBetween
.IgnoreBlank = True
.InCellDropdown = True
.ShowInput = True
.ShowError = True
End With
.Font.ColorIndex = 0
End With
With .Range("Y51:Z72")
.Interior.ColorIndex = xlNone
.Font.ColorIndex = 0
.Borders.LineStyle = xlNone
End With
.Range("W5").Select
With .Parent
.SaveAs AWS
.Close
End With
End With
Application.Visible = True
Set Nachricht = OutApp.CreateItem(0)
With Nachricht
.To = "heinzholzmann@gmx.at"
.Cc = "heinz_holzmann@aon.at"
.Subject = "Personalbesetzung KE " & "   " _
& "Schicht" & "  " & Worksheets("Personalbesetzung").Cells(5, 21) _
& "     " & Worksheets("Personalbesetzung").Cells(5, 17)
.Attachments.Add AWS
.Body = "Mit freundlichen Grüssen" & vbNewLine & "  " & Worksheets("Personalbesetzung"). _
Cells(5, 11)
.Display
End With
Set OutApp = Nothing
Set Nachricht = Nothing
Kill AWS 'temporäre Mappe löschen
Application.ScreenUpdating = True
End Sub

Gruß
Rudi
Anzeige
AW: ActiveSheet.Shapes.Delete
19.12.2011 12:28:58
Heinz H.
Hallo Rudi
Das passt gleich auf das erste mal,wie die Faust aus Auge.
Recht herzlichen Dank.
Gruß
Heinz
AW: ActiveSheet.Shapes.Delete
19.12.2011 14:03:30
Heinz H.
Hallo Rudi
Habe die Arbeizsmappe einige Zeit geschlossen gehabt.Bei jetzigen neuen öffnen,kommt der selbe Fehler wieder.
Wieso ?? Warum ?? Weshalb ??
Gruß
Heinz
AW: ActiveSheet.Shapes.Delete
21.12.2011 06:52:41
Dirk aus Dubai
Hallo Heinz,
pruefe mal ob das Shape, welches Du loeschen moechtes, auch wirklich 'Mail1' heisst.
Falls Du sowieso keine Shapes mitversenden moechtest, kannst Du einfach alle Shapes aus dem Blatt loeschen.
Activesheet.Drwaingobjects.delete
Damit verschwinden alle textboxen, Bilder, Checkboxen etc.
Gruss
Dirk aus Dubai
P.S. Checke mal Deine Email.
Anzeige
AW: ActiveSheet.Shapes.Delete
21.12.2011 09:57:09
Heinz H.
Hallo Dirk
Danke.
Es funktioniert.
Gruß
Heinz

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige