Registriert seit: 14.01.2015
	
Version(en): 2007
	
 
	
	
		Beide hier eingestellten Codes laufen ohne Fehler.  (Im Blatt "KW1)
Der obere erzeugt eine *pdf.  Der  Code kann von Blatt zu Blatt kopiert werden und läuft trotzdem.
Der untere erzeugt eine *xls. Wenn aber das Blatt kopiert wird steht im Code ,auf dem nächsten Blatt, immer noch  KW1.
Ich möchte dieses  "KW1"   durch den Name des  aktuellen Blattes ersetzen.
In dem Code für die *pdf ist der Blattname als variable.
Ich habe ohne genau zu wissen was ich mache versucht die "KW1" variabel zu machen.
Dafür habe ich in einer Zelle den jeweils aktuellen Blattname eingefügt und diesen mit  Dim  als Blattname gesetzt.
Ich bekomme das aber diese dim nicht funktionsfähig in die Formel für die *xls
Dieter
	
	
	
	
	
 
 
	
	
	
		
	Registriert seit: 11.04.2014
	
Version(en): Office 2007
	
 
	
	
		Hallo Dieter,
dann habe ich das
 (13.05.2018, 14:35)Didi schrieb:  Egal wie ich die Formel für die xml verändere, ich bekomme immer wieder Fehler.
falsch verstanden. Deine letzen Beitrag verstehe ich nicht.
	
 
	
	
Gruß Stefan
Win 10 / Office 2016
	
	
 
 
	
	
	
		
	Registriert seit: 14.01.2015
	
Version(en): 2007
	
 
	
		
		
		13.05.2018, 20:55 
(Dieser Beitrag wurde zuletzt bearbeitet: 13.05.2018, 20:55 von Didi.)
		
	 
	
		Auf Buttondruck erzeuge ich eine Kopie von einem Vorlageblatt.
Die obigen Formeln sind im Vorlageblatt und laufen dort.
Die Formel für das erstellen einer  *pdf läuft auch in der Kopie.
Die Formel für das erstellen einer *xml läuft  zwar auf der Kopie, erstellt aber eine *xml vom Blatt  "KW1"
Ich möchte aber eine *xml vom aktuellen Blatt erstellen.
Ich brauche also eine Formel, genau wie für die *.pdf, die eine *xml erstellt
Dieter
	
	
	
	
	
 
 
	
	
	
		
	Registriert seit: 11.04.2014
	
Version(en): Office 2007
	
 
	
	
		Hallo Dieter,
sorry, ich konnte gestern wohl nicht richtig lesen  :s  Ich habe mich immer auf den falschen Code bezogen. Versuche es mal so
Code:
ThisWorkbook.Worksheets("KW1").Copy
    Application.DisplayAlerts = False
    
    Dim strDate
    strDate = Now
   
  ActiveSheet.SaveAs "C:\Backup\" & Format(Range("A50")) & " " & Format((Date)) & ".xlsx"
 'oder so 
 Worksheets("KW1").SaveAs "C:\Backup\" & Format(Range("A50")) & " " & Format((Date)) & ".xlsx"
 ActiveWorkbook.Close Fals
 
	 
	
	
Gruß Stefan
Win 10 / Office 2016
	
	
 
 
	
	
	
		
	Registriert seit: 14.01.2015
	
Version(en): 2007
	
 
	
	
		Brauch ich nicht versuchen. Mein Code funktioniert.
In meinem Code steht    
Code:
ThisWorkbook.Worksheets("KW1").Copy
In deinem auch.
Dieses  KW1   ist mein Problem.
Es erstellt immer vom Blatt  KW1  eine Kopie.
Es soll aber vom aktuellen Blatt eine Kopie erstellen.
Bis jetzt habe ich keinen Code gefunden der dies kann.
Was aber wohl geht ist das die gesamte Mappe kopiert wird und danach alle Blätter ausser das letzte gelöscht werden.
Dieter
	
 
	
	
	
	
 
 
	
	
	
		
	Registriert seit: 10.04.2014
	
Version(en): 2016 + 365
	
 
	
		
		
		14.05.2018, 16:11 
(Dieser Beitrag wurde zuletzt bearbeitet: 14.05.2018, 16:11 von Rabe.)
		
	 
	
		Hi,
dann nimm halt einfach:
ActiveSheet.Copy
evtl in Verbindung mit "ThisWorkbook." davor.
	
	
	
	
	
 
	
 
	Folgende(r) 1 Nutzer sagt Danke an Rabe für diesen Beitrag:1 Nutzer sagt Danke an Rabe für diesen Beitrag 28
	  • Didi
 
 
 
	
	
	
		
	Registriert seit: 14.01.2015
	
Version(en): 2007
	
 
	
	
		Wie kann man nur so doof sein.
Code:
Private Sub CommandButton26_Click()
 
 ThisWorkbook.ActiveSheet.Copy
    Application.DisplayAlerts = False
    
    Dim strDate
    strDate = Now
   
  ActiveWorkbook.SaveAs "C:\Backup\" & Format(Range("A50")) & " " & Format((Date)) & ".xlsx"
  Application.DisplayAlerts = False
 
Application.DisplayAlerts = True
 ActiveWorkbook.Close False
 
End Sub
Funktioniert und macht was es soll.  Hatte das bestimmt auch schon mal versucht aber irgendwo einenFehler drin gehabt.
Dieter