Anzeige
Archiv - Navigation
376to380
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
376to380
376to380
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Speichern eines einzelnen Sheet

Speichern eines einzelnen Sheet
04.02.2004 16:25:48
Dieter
Hallo Forum,
mit welchen VBA Code kann ich aus einer Arbeitsmappe in der sich 5 Arbeitsblätter befinden ein einzelnes Sheet unter eigenen Name speichern.
ich möchte z.Bsp. Tabelle1 nach Bearbeitung als xxxxx.xls Datei speichern
als neuer Name sollte , der Inhalt einer Zelle C7 plus das aktuelle Datum
sein.
Das ganze möchte ich nach D:\Excel\Sport\z.Bsp. "Jugend B 20-0104.xls"
nach dem speichern sollte die Quell Tabelle wieder angezeigt werden.
Kann mir jemand solch einen Code erstellen ?
MfG Dieter

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Speichern eines einzelnen Sheet
04.02.2004 16:55:15
Andreas
Hallo probier doch mal sowas in der Art

Sub test()
Dim objwbk As Workbook
Dim i As Long
dim newname AS String
Set objwbk = Workbooks.Add
newname = Workbooks("Workbookname").Worksheets(1).Range("C7").Value & Date
Workbooks("Workbookname").Worksheets(1).Copy After:=objwbk.Worksheets(3)
For i = 1 To 3
objwbk.Worksheets(i).Delete
Next
objwbk.Saveas("D:\Excel\sport\" & newname)
End Sub

Gruß Andi
AW: Speichern eines einzelnen Sheet
04.02.2004 17:18:33
Dieter
Hallo Andi, Danke für deine Meldung, wo muss ich nun meine Namen Tabellenblatt und soweiter eintragen ?
Bin was VBA betrifft ein Grünschnabel.
MfG Dieter
Anzeige
AW: Speichern eines einzelnen Sheet
04.02.2004 17:31:15
Andreas
Hallo Dieter

Sub test()
Dim objwbk As Workbook
Dim i As Long
dim newname AS String
Set objwbk = Workbooks.Add
'Bei Workbookname trägst du ein, wie die Arbeitsmappe heisst,
' aus der Du das Blatt eigens abspeichern willst
'In dieser Zeile wird dann der neue Name erstellt:
'Inhalt der Zelle C7 und das aktuelle Datum
newname = Workbooks("Workbookname").Worksheets(1).Range("C7").Value & Date
'Das erste Tabellenblatt wird dann in die neue Arbeitsmappe kopiert,
'und zwar ganz zum Schluss
Workbooks("Workbookname").Worksheets(1).Copy After:=objwbk.Worksheets(3)
'Jetzt werden noch die 3 leeren Tabellenblätter gelöscht,
'die ja in einer neuen arbeitsmappe sind
For i = 1 To 3
objwbk.Worksheets(i).Delete
Next
'zum Schluss speichern wir die neue arbeitsmappe unter einem
'festen Pfad mit oben erstellten Namen
objwbk.Saveas("D:\Excel\sport\" & newname)
End Sub

Ich hoffe, das ist jetzt etwas besser zu lesen.
Hoffentlich funktioniert's, ich habs noch nicht ausprobiert
Gruss Andi
Anzeige
AW: Speichern eines einzelnen Sheet
04.02.2004 17:51:28
Dieter
Hallo Andi, habe es nun Verstanden nur mit dem Datum das funzt nicht
und das mit dem löschen ist ein wenig verwirrend , weil ich diese Datei auch im Vereinsrechner habe und manchmal, noch ungeübtere als ich dort was eingeben .
Kann man dieses nicht unterbinden ? damit die Blätter erst garnicht mit kopiert werden ?
MfG Dieter
AW: Speichern eines einzelnen Sheet
04.02.2004 17:55:38
Josef Ehrensberger
Hallo Dieter!
Versuch diesen Code


Sub BlattKopieren()
Dim strPath As String
Dim strName As String
strPath = "D:\Excel\Sport\"
strName = ActiveSheet.Range("C7")
Application.ScreenUpdating = False
ActiveSheet.Copy
With ActiveWorkbook
.SaveAs srtpath & strName & Format(Date, "dd mmyy")
.Close
End With
Application.ScreenUpdating = True
End Sub

     Code eingefügt mit Syntaxhighlighter 2.5

Gruß Sepp
Anzeige
AW: Speichern eines einzelnen Sheet
04.02.2004 18:21:40
Dieter
Hallo Sepp , das ist ja Klasse noch eine Frage dazu der Blattname in der Mappe
lautet Jugend B ist das Möglich den auch noch zu dem Namen "Datum u. C7" damit einzubauen
und das die Schaltflächen nicht mit übernommen werden, also nur wenn sowas geht.
MfG Dieter
AW: Speichern eines einzelnen Sheet
04.02.2004 18:49:37
Josef Ehrensberger
Hallo Dieter!
Probier das.


Sub BlattKopieren()
Dim strPath As String
Dim strName As String
Dim strWert As String
Dim shp As Shape
strPath = "D:\Excel\Sport\"         'Pfad
strName = ActiveSheet.Name          'Tabellenname
strWert = ActiveSheet.Range("C7")   'Dateiname - zusatz
Application.ScreenUpdating = False
ActiveSheet.Copy
With ActiveWorkbook
For Each shp In Sheets(1).Shapes    'Schaltflächen entfernen
shp.Delete
Next
With .VBProject.VBComponents(.VBProject.VBComponents(2).CodeModule).CodeModule
    .DeleteLines 1, .CountOfLines
End With
.Sheets(1).Cells.Locked = True  'Zellen sperren
.Sheets(1).Protect "test"       'Blattschutz setzen - Passwort anpassen
.SaveAs strPath & strName & " " & Format(Date, "dd mmyy") & " " & _
strWert & ".xls"
.Close
End With
Application.ScreenUpdating = True
End Sub

     Code eingefügt mit Syntaxhighlighter 2.5

Ich hoffe das der Name so passt!
Die Schaltflächen und der VBA-Code werden entfern.
Die Zellen werden gesperrt und der Blattschutz wird
gesetzt. (Passwort = test)
Gruß Sepp
Anzeige
AW: Suuuuper Sepp Danke
04.02.2004 19:15:13
Dieter
Hallo Sepp , einfach Spitze mehr als ich überhaupt wollte sogar mit
Schreibschutz besten Dank !!!!
Kann man nur weiter Empfehlen.
Gruss Dieter Besten Dank
Danke für die Rückmeldung! o.T.
04.02.2004 19:18:50
Josef Ehrensberger
/

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige