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

Sheet kopieren und dann...

Sheet kopieren und dann...
25.05.2006 15:28:11
Walter
Hallo Zusammen,
vielleicht hat jemand was brauchbares?
Ich möchte gern eine Sheet in eine neue Mappe kopieren, der Name der Sheet
soll auch der Name der Datei werden.
Beispiel:
Sheet heißt: Lager
Neue Datei also Lager, ins Verzeicnis: c:\1_Werkstatt
Müßte dann so sein c:\1_Werkstatt\Lager
gruß Walter

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

Betreff
Datum
Anwender
Anzeige
AW: Sheet kopieren und dann...
25.05.2006 15:37:18
Josef
Hallo Walter!
Als Beispiel für die aktive Tabelle!
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub SheetToFile()
Dim strPath As String

strPath = "C:\Werkstatt\" ' Anpassen!

Set objSh = ActiveSheet

objSh.Copy

With ActiveWorkbook
  .SaveAs strPath & objSh.Name & ".xls"
  .Close True
End With

Set objSh = Nothing

End Sub


'******************************
'* Gruß Sepp
'*
'* Rückmeldung wäre nett!
'******************************

Anzeige
Leider Fehlermeldung
25.05.2006 18:08:45
Walter
Hallo Sepp,
fehler beim Kompilieren,Variable nicht definiert!
Steht bei: Set objSh = ActiveSheet
gruß walter
AW: Leider Fehlermeldung
25.05.2006 18:21:10
Josef
Hallo Walter!
Sorry, da hab ich wohl was vergessen;-((
Es fehlt noch "Dim objSh as Worksheet"
'******************************
'* Gruß Sepp
'*
'* Rückmeldung wäre nett!
'******************************

Anzeige
Super Danke
25.05.2006 18:33:23
Walter
Hallo Sepp,
es funktioniert,Danke,
gruß Walter
Habe einen Fehler gemacht...
25.05.2006 18:52:13
Walter
Hallo Sepp,
ich habe einen Fehler gemacht.
Wenn die neue Mappe jetzt "Lager" heißt und von der "alten Mappe" aus wird wieder
die Sheet als Datei abgelegt, kommt Fehlerfeldung 400 !!!
Kann dann die ALTE Mappe Lager überschrieben werden?
2. Wenn die Mappe "Lager" offen ist, soll Sie automatisch geschlossen werden und
die neue Mappe Lager soll die alte ersetzen, geht das ?
gruß Walter
Hallo noch
25.05.2006 19:00:39
Walter
Hallo Sepp,
habe gerade getestet, wenn die Mappe geschlossen ist, wird normal gefragt ob gespeichert/überschrieben werden kann.
Ich müßte jetzt nur geprüft haben ob die Mappe offen ist, dann muß Sie erst geschlossen
werden und dann weiter abspeichern, wie dein Makro schon da ist.
gruß Walter
Anzeige
AW: Hallo noch
25.05.2006 19:01:18
Josef
Hallo Walter!
Kein Problem!
' **********************************************************************
' Modul: Modul2 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub SheetToFile()
Dim strPath As String
Dim objSh As Worksheet
Dim objWb As Workbook


On Error GoTo ErrExit

With Application
  .ScreenUpdating = False
  .DisplayAlerts = False
End With

strPath = "C:\Werkstatt\" ' Anpassen!

Set objSh = ActiveSheet

For Each objWb In Workbooks
  If objWb.FullName = strPath & objSh.Name & ".xls" Then
    objWb.Close False
    Exit For
  End If
Next

objSh.Copy

With ActiveWorkbook
  .SaveAs strPath & objSh.Name & ".xls"
  .Close True
End With

ErrExit:

Set objSh = Nothing

With Application
  .ScreenUpdating = True
  .DisplayAlerts = True
End With

End Sub


'******************************
'* Gruß Sepp
'*
'* Rückmeldung wäre nett!
'******************************

Anzeige
Funktioniert aber...
25.05.2006 20:07:39
Walter
Hallo Sepp,
Du bist ein Genie, klappt Prima!!!!!!!!!!!!!!!!!
Frage, da ich Vater bin, zum Vatertag ?
Kann man eine Inf MSGBOX als Info:
1. Ob die Datei schon vorhanden ist, wenn ja die Info ob überschreiben
2. Ob die Datei/Mappe offen ist, also bevor die Mappe geschlossen ist
3. Info datei wurde ins Verzeichnis ... überschrieben und gespeichert
Danke, wenn es möglich wäre.
gruß walter
AW: Funktioniert aber...
25.05.2006 20:59:33
Josef
Hallo Walter!
Von Vater zu Vater als Vatertagsgeschenk ;-))
' **********************************************************************
' Modul: Modul2 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub SheetToFile()
Dim strPath As String
Dim objSh As Worksheet
Dim objWb As Workbook
Dim blnExist As Boolean, blnClose As Boolean

On Error GoTo ErrExit

With Application
  .ScreenUpdating = False
  .DisplayAlerts = False
End With

strPath = "C:\Werkstatt\" ' Anpassen!

Set objSh = ActiveSheet

If Dir(strPath & objSh.Name & ".xls") <> "" Then
  blnExist = True
  If MsgBox("Die Datei" & vbLf & vbLf & vbTab & Chr(34) & strPath & objSh.Name & ".xls" & Chr(34) & _
    Space(15) & vbLf & vbLf & "ist bereits vorhanden!" & vbLf & vbLf & _
    "Soll die Datei ersetzt werden!", 36, "Frage") = 7 Then
    blnClose = True
    GoTo ErrExit
  End If
End If

For Each objWb In Workbooks
  If objWb.FullName = strPath & objSh.Name & ".xls" Then
    If MsgBox("Die Datei" & vbLf & vbLf & vbTab & Chr(34) & objWb.FullName & Chr(34) & _
      Space(15) & vbLf & vbLf & "ist zur Zeit geöffnet!" & vbLf & vbLf & _
      "Um mit fortzufahren, muss die Datei geschlossen werden!", 33, "Frage") = 2 Then
      blnClose = True
      GoTo ErrExit
    End If
    objWb.Close False
    Exit For
  End If
Next

objSh.Copy

With ActiveWorkbook
  .SaveAs strPath & objSh.Name & ".xls"
  .Close True
End With

ErrExit:

If Err.Number = 0 Then
  If blnClose Then
    MsgBox "Der Vorgang wurde Abgebrochen!", 64, "Hinweis"
  Else
    MsgBox "Die Datei" & vbLf & vbLf & vbTab & strPath & objSh.Name & ".xls" & Space(15) & _
      vbLf & vbLf & "wurde erfolgreich " & IIf(blnExist, "ersetzt", "erstellt") & "!", 64, "Hinweis"
  End If
Else
  MsgBox "Beim speichern der Datei" & vbLf & vbLf & vbTab & strPath & objSh.Name & ".xls" & Space(15) & _
    vbLf & vbLf & "trat folgender Fehler auf" & vbLf & vbLf & Err.Description & Space(15), 48, "Fehler"
  Err.Clear
End If

Set objSh = Nothing

With Application
  .ScreenUpdating = True
  .DisplayAlerts = True
End With

End Sub


'******************************
'* Gruß Sepp
'*
'* Rückmeldung wäre nett!
'******************************

Anzeige
Tausend Dank Sepp Du bist ein Genie !!!
25.05.2006 21:03:35
Walter
Danke Sepp,
für alles, ich habe keinen blasen Schimmer...
Schönen Vatertag noch,
mfg Walter

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige