geöffnete Excel Datei überschreiben

Bild

Betrifft: geöffnete Excel Datei überschreiben
von: Rene
Geschrieben am: 04.04.2005 11:08:56
Moin zusammen,
Habe dieses Problem schon mal angesprochen bin aber trotzdem nicht so richtig weitergekommen also hier nochmal mal riesen Problem:
Ich habe eine Excel Tabelle mit dem Namen "Liste" in dieser Tabelle befinden sich natürlich Daten,diese Daten speichere ich nun in Ordnern meiner Wahl (werden fortlaufend Nummeriert) über ein Macro ab.Die Tabelle heißt aber jedesmal "Liste". So weit so gut,wie kann ich es jetzt aber anstellen, das ich die Liste über ein Ordnerauswahlfenster in einen fest vorgegeben Ordner kopieren kann? Die Original Liste ist aber noch offen und kann überschrieben werden.Ich habe es zwar schon selber probiert nur dadurch das die Original Liste offen ist läßt sie sich nicht überschreiben,beim kopieren bekomme ich jedesmal "Zugriff verweigert".Im Grunde brauche ich die Daten der Tabelle die ich vorher gespeichert hatte, erneut in der Original Liste.Ich weiß es klingt alles ein wenig verwirrend aber ich hoffe ich habe mich so halbwegs verständlich ausgedrückt und hoffe das mir jemand bei meinem Problem helfen kann.Bitte helft mir denn ich bekomme sonst noch einen Schuss bei der Sache.
Vielen Dank im voraus
Kann mich aber erst heute Abend wieder melden,hoffe das es keinen stört.
Gruß René

Bild

Betrifft: AW: geöffnete Excel Datei überschreiben
von: Andreas
Geschrieben am: 04.04.2005 14:29:19
Hallo René,
für mich war's leider nicht verständlich.
Aber prinzipiell:
soweit ich weiß kann man bei den Redmontern keine geöffneten Dateien von 2ter Seite her abspeichern.
Das schlaueste währe vieleicht eine temporäre Datei anzulegen die die änderungen enthält.
Überlege mal was in dieser Richtung.
mfg
Andreas
Bild

Betrifft: AW: geöffnete Excel Datei überschreiben
von: andre
Geschrieben am: 04.04.2005 19:03:13
Hallo Rene,
eine offene Datei sollte über den Windows-Explorer zu kopieren gehen - nur nicht, wenn gerade jemand speichert. Da hast Du dann auch die Ordnerauswahl, musst Dich eben nur durch alle Ebenen durchhangeln oder Du legst das Zielverzeichnis als Verknüpfung auf den Desktop da hättest Du dann Deinen festen Ordner wo du was reinfallen lassen kannst ...
Bild

Betrifft: AW: geöffnete Excel Datei überschreiben
von: Rene
Geschrieben am: 04.04.2005 19:44:16
Moin,
Hatte den ersten Teil des Macros ja schon gehabt und habe den zweiten Teil mit dem Macrorecorder aufgezeichnet, aber leider macht er nicht das was er machen soll kann mir dabei einer bitte mal helfen was ich verkehrt mache?
Hier mal der Code:

Sub Xls_Dateien_kopieren()
Dim objFSO As Object
Dim fSearch As FileSearch
Dim srcPath As String, tarpath As String, srcFile As String, tarFile As String
Dim xlsCount As Integer, fCount As Integer
srcPath = BrowseFolder("Order wählen", "C:\Test\Test1\Test2\")   'Quellverzeichnis
tarpath = "C:\Test\"  'Zielverzeichnis
If srcPath = "" Then Exit Sub
Set fSearch = Application.FileSearch
With fSearch
'ermitteln der Anzahl von *.xls - Files im Quellverzeichnis
.NewSearch
.LookIn = srcPath
.SearchSubFolders = False  '<<<<Unterordner durchsuchen True/False
.FileType = msoFileTypeAllFiles
.Filename = "*.xls"
.Execute
Set objFSO = CreateObject("Scripting.FileSystemObject")
For fCount = 1 To .FoundFiles.Count
 If Right(.FoundFiles(fCount), 3) = "xls" Then
      
      'xls-File kopieren und umbenennen
         srcFile = .FoundFiles(fCount)
         tarFile = tarpath & "\Liste1" & ".xls"
         objFSO.CopyFile srcFile, tarFile
    'dieses ist mit dem Macrorecorder aufgezeichnet:
    Workbooks.Open Filename:="C:\Test\Liste1.xls"
    Cells.Select
    Selection.Copy
    Windows("Liste.xls").Activate
    Cells.Select
    ActiveSheet.GroupBoxes.Add(441, 39, 120, 127.5).Select
    ActiveSheet.Paste
    ActiveSheet.GroupBoxes.Add(441, 39, 120, 127.5).Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Windows("Liste1.xls").Activate
    ActiveWindow.Close
    'bis hier hin    
      
  End If
   
   Next
End With
Set objFSO = Nothing
Set fSearch = Nothing
End Sub

Bild

Betrifft: AW: geöffnete Excel Datei überschreiben
von: andre
Geschrieben am: 04.04.2005 20:04:04
Hallo Rene,
dein code tut
- alle Excel-Dateien eines Verzeichnis ermitteln
- kopieren der Dateien als Datei C:\Test\Liste1.xls in der Schleife
-- dabei Öffnen dieser Datei, kopieren von xxx auf dem jeweils beim Öffnen aktuellen Blatt in die Datei Liste.xls in der Schleife
Was Dir dabei mit den Groupboxes passiert ist weiß ich auch nicht. Eigentlich müsste es so sein wie unten wenn Du die Zellen kopieren willst. Ob dass allerdings Sinn macht - ist denn sicher, dass bei den Dateien immer die richtige Seite "oben" liegt - denn nur die kopierst Du, ob irgendwann Deine Datei zu groß wird ... usw. - weiß ich auch nicht.
...
Workbooks.Open Filename:="C:\Test\Liste1.xls"
Cells.Copy
Windows("Liste.xls").Activate
Sheets.Add 'wenn Du die Inhalte ganzer Blätter kopierst musst Du auch für jede
'Datei ein Blatt anlegen sonst überschreibst Du alles
Cells.Select
ActiveSheet.Paste
Application.CutCopyMode = False
Windows("Liste1.xls").Activate
ActiveWindow.Close
'bis hier hin
...
Wenn was ist, bitte genaue Fehlermeldungen mitschicken.
Bild

Betrifft: AW: geöffnete Excel Datei überschreiben
von: Rene
Geschrieben am: 04.04.2005 20:34:46
Hallo Andreas,
Danke dir für deine Hilfe, so sieht es schon mal ganz gut aus aber es müßte doch noch ein paar veränderungen geben.
1. fügt er mir so ein neues Tabellen Blatt ein mit den Daten und nennt es Tabelle1 dieses soll aber nicht sein er soll es in das vorhandene TabellenBlatt(Liste) einfügen
2. wenn der Kopiervorgang von Liste1 nach Liste fertig ist müßte die speicherabfrage von Liste1 nicht angezeigt werden.
Ich hoffe du hast eine Idee
Gruß Rene
Bild

Betrifft: AW: geöffnete Excel Datei überschreiben
von: Rene
Geschrieben am: 04.04.2005 21:59:46
Hallo Andreas,
Habe es nun rausbekommen und kann glaube ich damit leben.Hier mal der Code:
Workbooks.Open Filename:="C:\Test\Liste1.xls"
Application.ScreenUpdating = False
Range("A1:I87").Select
Selection.Copy
Windows("Liste.xls").Activate
Range("A1:I87").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Windows("Liste1.xls").Activate
ActiveWindow.Close SaveChanges:=False
Range("A1").Select
Application.ScreenUpdating = True
kill ("C:\Test\Liste1.xls")
Danke dir nochmal für deine Hilfe.
Gruß Rene
Bild

Betrifft: AW: geöffnete Excel Datei überschreiben
von: Rene
Geschrieben am: 04.04.2005 19:29:45
Moin Andreas,
Danke für deine Antwort werde mich wohl dann noch mal hinsetzten und bestimmt wieder einen Kollaps bekommen.
Gruß Rene
 Bild

Beiträge aus den Excel-Beispielen zum Thema "Fusszeile auf erster Seite anders oder gar nicht"