249 Aufrufe
Gefragt in Tabellenkalkulation von Mitglied (259 Punkte)
Hallo,
muss leider noch mal fragen. M.O. hatte das Makro mehr oder weniger wie folgt geschrieben:

Wenn man die neu erstellte Datei nicht speichern möchte und abbricht, wird in der originären Datei mit Makro das Tabellenblatt nicht ausgeblendet.

Der Befehl für das Ausblenden muss irgendwie an eine andere Stelle --??
[b] .Visible = xlSheetVeryHidden[/b]

---

[url]http://www.supportnet.de/t/2510355[/url]

Private Sub CommandButton1_Click()

Dim wksQuelle As Worksheet
Dim rücksprungBlatt As Worksheet
Dim Neuer_Dateiname
Dim sFilename As String

Set wksQuelle = ThisWorkbook.Worksheets("ESi_xxx")
Set rücksprungBlatt = ActiveSheet
'Pfad und Name der zu speichernden Datei festlegen; wird als xlsx-Datei gespeichert
sFilename = "c:\xxx_ESi " & Year(Now) & "_" & Month(Now) & "_" & Day(Now) & ".xlsx"

'Blatt einblenden und kopieren
With wksQuelle
 .Visible = True
 .Copy
 'Werte von Original in die Kopie übertragen
 ActiveSheet.Range("A2:F11") = .Range("A2:F11").Value
 ActiveSheet.Range("B13:F21") = .Range("B13:F21").Value
 
 MsgBox "Bitte vor der weiteren Bearbeitung dieses Excel Blatt speichern"
 
 'Speichern unter mit Pfadvorgabe und Name
 Neuer_Dateiname = Application.GetSaveAsFilename(InitialFileName:=sFilename, fileFilter:="Excel-Arbeitsmappe ohne Makros, *.xlsx")
 If Neuer_Dateiname = False Then
  'falls die Datei nicht gespeichert wird, könnte man z.B. die Datei schließen, ohne zu speichern
   ActiveWorkbook.Close (False)
   Exit Sub
  End If
 'kopiertes Blatt speichern
 ActiveWorkbook.SaveAs Filename:=Neuer_Dateiname
 .Visible = xlSheetVeryHidden
End With
rücksprungBlatt.Activate
End Sub

2 Antworten

0 Punkte
Beantwortet von m-o Profi (11.5k Punkte)
Hallo Happy,

ergänze das Makro wie folgt:

[code]'falls die Datei nicht gespeichert wird, könnte man z.B. die Datei schließen, ohne zu speichern
ActiveWorkbook.Close (False)
.Visible = xlSheetVeryHidden
Exit Sub
End If[/code]
Gruß
M.O.
0 Punkte
Beantwortet von Mitglied (259 Punkte)
Danke sehr!
...