Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
656to660
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
656to660
656to660
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

einzelne Tabelle aus einer Arbeitsmappe speichern

einzelne Tabelle aus einer Arbeitsmappe speichern
26.08.2005 18:08:59
Rudi
Hallo Ihr tollen Helfer,
Problem: .einzelne Tabelle aus einer Arbeitsmappe speichern (Name der Tabelle: "MASKE".
Ich hab folgendes Makro gefunden.
Meine Frage dazu.
Kann mir jemand es so abändern, dass der Blattname der Gleiche bleibt, allerdings als Dateiname der Wert aus Feldnamen: „MANR“ und als Zielverzeichnis der Wert aus Feldname: „Path“ automatisch verwendet wird?

Sub BlattSpeichern()
Dim sPath As String, sWks As String, sFile As String
Dim index%
On Error GoTo ErrH
sPath = Application.DefaultFilePath
If (Right(sPath, 1) <> "\") Then sPath = sPath & "\"
sWks = InputBox(prompt:="Blattname", _
Default:=BLATTNAME$)
If ((sWks = "") Or _
(InStr(1, sWks, ":") > 0) Or _
(InStr(1, sWks, "\") > 0) Or _
(InStr(1, sWks, "/") > 0) Or _
(InStr(1, sWks, "?") > 0) Or _
(InStr(1, sWks, "*") > 0) Or _
(InStr(1, sWks, "[") > 0) Or _
(InStr(1, sWks, "]") > 0) Or _
(Len(sWks) > 31)) Then sWks = BLATTNAME$
sFile = InputBox(prompt:="Dateiname", _
Default:=sPath & DATEINAME$ & ".xls")
ActiveSheet.Copy
ActiveSheet.Name = sWks
ActiveWorkbook.SaveAs sFile
MsgBox "Tabelle kopiert als : " & sWks & vbCrLf & _
"In Verzeichniss : " & ActiveWorkbook.Path & vbCrLf & _
"Mit dem Namen : " & ActiveWorkbook.Name, vbInformation
Exit Sub
ErrH:
' falls versucht datei mehrmals mit dem selben namen in den selben verz.
' zu speichern -> exception 1004 -> neue dateineme := dateiname + index% -> neuer versuch datei zu speichern
If (Err.Number = 1004) Then
If (index% < 1000) Then
index% = index% + 1
sFile = sPath & DATEINAME$ & index% & ".xls"
Resume
Else
MsgBox "Variable index% zu Hoch!", vbCritical: End
End If
Else
MsgBox "Laufzeitfehler : " & vbCrLf & Err.Description & vbCrLf & "Fehlernummer : " & Err.Number, vbCritical
End If
End Sub

gruss rudiflei

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

Betreff
Datum
Anwender
Anzeige
AW: einzelne Tabelle aus einer Arbeitsmappe speich
26.08.2005 20:02:08
Ramses
Hallo
mal auf die ganz einfache Art:

Sub Save_Sheet()
Worksheets("Maske").Copy
If right(Range("Path"),1="\" then
ActiveWorkbook.SaveAs Range("Path") & Range("MANR")
Else
ActiveWorkbook.SaveAs Range("Path") & "\" Range("MANR")
End If
End Sub

Ungetestet, sollte aber tun
Gruss Rainer
Kleine Korrektur :-(
26.08.2005 20:03:35
Ramses
Hallo
Sorry. Anstelle von
If right(Range("Path"),1="\" then
muss es natürlich heissen
If right(Range("Path"),1)="\" then
Gruss Rainer
AW: Kleine Korrektur :-(
26.08.2005 22:00:53
Rudi
hier stimmt auch was nicht:
ActiveWorkbook.SaveAs Range("Path") & "\" Range("MANR")
gruss rudiflei
Anzeige
AW: Kleine Korrektur :-(
26.08.2005 22:09:12
Ramses
Hallo
da fehlt noch ein "&"
ActiveWorkbook.SaveAs Range("Path") & "\" & Range("MANR")
Ist doch gar nicht so kompliziert,... oder ?
Gruss Rainer
AW: Kleine Korrektur :-(
27.08.2005 09:16:00
Rudi
Prima, toll gemacht
danke für die Hilfe. Funktioniert optimal!
gruss rudiflei

310 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige