Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.06.2024 19:56:24
17.06.2024 19:39:46
Anzeige
Archiv - Navigation
560to564
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
560to564
560to564
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Blatt einzeln mit Pfadangabe speichern

Blatt einzeln mit Pfadangabe speichern
06.02.2005 08:33:35
S. Jahns
Hallo zusammen,
ich bastel seit einigen Tagen an einer Arbeitsmappe herum. Viele Tips hab' ich hier bei euch gefunden. Zuletzt bleibt ein kleines Problem.
Aus dem Tabellenblatt "Rechnung" speicher ich die Mappe mit der Rechnungsnummer die sich in "G21" befindet. Das klappt. Es soll aber nicht die ganze Mappe gespeichert werden, sondern nur die Rechnung und die im Ordner Rechnungen. Aus einem Tabellenblatt "Lohn" möchte ich dann die Lohnabrechnung speichern, wieder einzeln im Ordner Lohnabrechnung. Bis jetzt sieht mein Makro so aus:

Sub speichern()
ort = Range("g21")
If Len(ort) = 0 Then
MsgBox ("Ungültiger Dateiname: Die angegebene Zelle darf nicht leer sein!")
Else
ActiveWorkbook.SaveAs FileName:=ort & ".xls"
End If
End Sub

Gruß Sabine

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Blatt einzeln mit Pfadangabe speichern
06.02.2005 08:40:33
Josef Ehrensberger
Hallo Sabine!
Das geht vom Prinzip her so!

Sub speichern()
Dim ort As String
ort = Range("g21")
If Len(ort) = 0 Then
MsgBox ("Ungültiger Dateiname: Die angegebene Zelle darf nicht leer sein!")
Exit Sub
End If
ActiveWorkbook.Sheets("Rechnung").Copy
ActiveWorkbook.SaveAs "C:\Rechnungen\" & ort & ".xls"
ActiveWorkbook.Close
End Sub


Gruß Sepp
P.S.: Rückmeldung nicht vergessen!
AW: Blatt einzeln mit Pfadangabe speichern
06.02.2005 08:57:52
S. Jahns
Hallo Sepp,
das ging aber flott.
Bleibt noch folgendes Problem: Beim speichern kommt jetzt die Frage "Mappe mit Bezügen zu nicht gespeicherten Daten speichen? Und wenn ich jetzt die Arbeitsmappe änder, dann ändert sich auch die gerade gespeichrte Rechnung. Wie löse ich das Problem.
Sabine
Anzeige
AW: Blatt einzeln mit Pfadangabe speichern
06.02.2005 09:03:28
Josef Ehrensberger
Hallo Sabine!
Füge nach ".Copy" diese Zeile ein.

ActiveSheet.UsedRange.Cells = ActiveSheet.UsedRange.Cells.Value

dann werden alle Formeln in Werte umgewandelt!
Gruß Sepp
P.S.: Rückmeldung nicht vergessen!
AW: Blatt einzeln mit Pfadangabe speichern
06.02.2005 09:11:22
S. Jahns
Danke Sepp
aber jetzt stimmen meine ganzen Daten in der Rechnung nicht mehr! Keine Ahnung warum.
Sabine
AW: Blatt einzeln mit Pfadangabe speichern
06.02.2005 09:23:42
Josef Ehrensberger
Hallo Sabine Probier's so!

Sub speichern()
Dim ort As String
ort = Range("g21")
If Len(ort) = 0 Then
MsgBox ("Ungültiger Dateiname: Die angegebene Zelle darf nicht leer sein!")
Exit Sub
End If
ActiveWorkbook.Sheets("Rechnung").Copy
With ActiveWorkbook
.Sheets(1).UsedRange.Copy
.Sheets(1).UsedRange.PasteSpecial Paste:=xlValues
Application.CutCopyMode = False
.SaveAs "C:\Rechnungen\" & ort & ".xls"
.Close
End With
End Sub


Gruß Sepp
P.S.: Rückmeldung nicht vergessen!
Anzeige
AW: Blatt einzeln mit Pfadangabe speichern
06.02.2005 09:35:33
Sabine
das Problem bleibt leider.
Die Daten die sich ändern sind alles Datumsangaben die mit folgender Formel erstellt wurden:

=WENN(Vorgabe!$E16>Vorgabe!$G$2;"";ARBEITSTAG(Vorgabe!$E15;1;'Freie Tage (H)'!C2:G41))

Gruß Sabine
AW: Blatt einzeln mit Pfadangabe speichern
06.02.2005 10:05:52
Josef Ehrensberger
Hallo Sabine!
Dann probieren wir es so!

Sub speichern()
Dim ort As String
Dim wks As Worksheet
ort = Range("g21")
If Len(ort) = 0 Then
MsgBox ("Ungültiger Dateiname: Die angegebene Zelle darf nicht leer sein!")
Exit Sub
End If
On Error GoTo ERRORHANDLER
With Application
.ScreenUpdating = False
.EnableEvents = False
.DisplayAlerts = False
.Calculation = xlCalculationManual
End With
ActiveWorkbook.Sheets("Rechnung").Copy after:=Sheets(Sheets.Count)
Set wks = Sheets(Sheets.Count)
wks.Name = "Rechnung_"
wks.UsedRange = wks.UsedRange.Value
wks.Copy
With ActiveWorkbook
.SaveAs "C:\Rechnungen\" & ort & ".xls"
.Close
End With
wks.Delete
MsgBox "Rechnung erfolgreich gespeichert!"
ERRORHANDLER:
With Application
.ScreenUpdating = True
.EnableEvents = True
.DisplayAlerts = True
.Calculation = xlCalculationAutomatic
End With
End Sub


Gruß Sepp
P.S.: Rückmeldung nicht vergessen!
Anzeige
AW: Blatt einzeln mit Pfadangabe speichern
06.02.2005 10:22:22
Sabine
Hallo Sepp
hatte ja große Hoffnung nach der Meldung - "Erfolgreich gespeichert"!
Leider verändern sich die Datumsangaben immer noch.
Muß jetzt leider erst mal Schluß machen. Wäre nett, wenn wir vielleicht heute Abend weitermachen könnten.
Erstmal DANKE - Sabine
AW: Blatt einzeln mit Pfadangabe speichern
06.02.2005 10:30:39
Josef Ehrensberger
Hallo Sabine!
Kannst du die Datei hochladen?

Gruß Sepp
P.S.: Rückmeldung nicht vergessen!
AW: Blatt einzeln mit Pfadangabe speichern
06.02.2005 10:42:28
S. Jahns
Schaffe ich jetzt leider nicht mehr. Heute Abend ok. Melde mich auf jeden Fall
Bis dann Sabine
AW: Blatt einzeln mit Pfadangabe speichern
06.02.2005 10:42:33
S. Jahns
Schaffe ich jetzt leider nicht mehr. Heute Abend ok. Melde mich auf jeden Fall
Bis dann Sabine
Anzeige
AW: Blatt einzeln mit Pfadangabe speichern
06.02.2005 21:19:39
S. Jahns
Guten Abend Sepp,
ist etwas spät geworden, bin jetzt wieder da. Was meinst du mit hochladen?
Gruß Sabine
AW: Blatt einzeln mit Pfadangabe speichern
06.02.2005 23:19:28
Josef Ehrensberger
Hallo Sabine!
Der Grund warum die Daten nach dem kopieren nicht stimmten, lag
an den zum Teil umfangreichen Formeln!
Dadurch wurden die Formeln in Werte umgewandelt noch bevor die
Berechnung abgeschlossen war.
Ich habe dieses Problem nun so gelöst, das ich die Werte aus dem
Originalblatt in ein Array schreibe und dieses dann zurück in die Kopie!
Ich hoffe das du nun damit klar kommst.
https://www.herber.de/bbs/user/17559.xlt

Gruß Sepp
P.S.: Rückmeldung nicht vergessen!
Anzeige
AW: Blatt einzeln mit Pfadangabe speichern
07.02.2005 10:30:47
S. Jahns
Hallo Sepp
klappt jetzt wunderbar, obwohl ich nicht ganz nachvollziehen kann, wo genau du etwas geändert hast. Wenn du für eine Erkärung noch Zeit findest wäre ich dankbar, damit ich alles ins Orginal übernehmen kann.
Du hast mir jedenfalls sehr geholfen, das ist nämlich mein erster Versuch in Excel gewesen, und mir hat ganz schön der Kopf geraucht.
Gruß Sabine
AW: Blatt einzeln mit Pfadangabe speichern
07.02.2005 13:01:57
Josef Ehrensberger
Hallo Sabine!
Freud mich wenn's klappt!
Hier der Code mit einigen Kommentaren.


      
Sub speichernSepp()
Dim ort As String
Dim arr As Variant
ort = Sheets(
"Rechnung").Range("G21")
   
If Len(ort) = 0 Then
   MsgBox (
"Ungültiger Dateiname: Die angegebene Zelle darf nicht leer sein!")
   
Exit Sub
   
End If
   
On Error GoTo ERRORHANDLER
With Application
.ScreenUpdating = 
False
.EnableEvents = 
False
.DisplayAlerts = 
False
.Calculation = xlCalculationManual
End With
arr = ActiveWorkbook.Sheets(
"Rechnung").UsedRange.Value
'Die Werte aus "Rechnung" werden einem Array übergeben

ActiveWorkbook.Sheets(
"Rechnung").Copy
'"Rechnung" kopieren

   
With ActiveWorkbook
   
   .Sheets(1).UsedRange = arr
   
'in die durch das Kopieren entstandene neue Tabelle die Werte aus
   'dem Array einfügen
   
   .SaveAs 
"C:\Rechnungen\" & ort & ".xls"
   
'speichern
   
   .Close
   
'schliessen
   
   
End With
   
MsgBox 
"Rechnung erfolgreich gespeichert!"
ERRORHANDLER:
With Application
.ScreenUpdating = 
True
.EnableEvents = 
True
.DisplayAlerts = 
True
.Calculation = xlCalculationAutomatic
End With
End Sub 

     Code eingefügt mit Syntaxhighlighter 3.0


Gruß Sepp
P.S.: Rückmeldung nicht vergessen!
Anzeige
AW: Blatt einzeln mit Pfadangabe speichern
07.02.2005 15:41:26
S. Jahns
Hallo Sepp,
noch mal DANKE. Du warst eine große Hilfe.
Gruß Sabine
AW: Blatt einzeln mit Pfadangabe speichern
06.02.2005 08:46:20
andre
Hallo Sabine,
zwischen else und active... die Codezeile ActiveSheet.Copy einfügen.

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige