Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
952to956
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
952to956
952to956
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Datenaustausch zwischen Dateien

Datenaustausch zwischen Dateien
27.02.2008 10:37:54
Boris
Hallo,
ich kopiere mit untenstehendem Code Daten aus verschiedenen "Quelldateien" in eine "Zieldatei". Dazu habe ich folgende Fragen:
1) Die Anzahl der zu kopierenden Sheets kann von Projekt zu Projekt variieren, es ist sicher nicht sinnvoll dafür den jeweiligen "Block" (so wie unten) zu duplizieren, sondern das über eine Schleife zu lösen. Das geht wahrscheinlich mit arrays, weiss aber nicht wie...?
2) Es wäre gut, wenn man alle einzugebenden Daten/Variablen (strDatei, strSheet, usw) im Kopf des Codes definiert, so dass man nicht nach unten scrollen muss. Ich ziehe auch in Erwägung, diese Daten aus einem Arbeitsblatt zu lesen, in das man alle notwendigen Daten eingibt (also Projektname, Anzahl der zu kopierenden Sheets, Dateinamen usw)
3) Ist der untenstehende Code "sauber"? Wo gibt es Verbesserungen?

Sub Update()
Dim strBereich As String
Dim strProjekt As String
Dim strOrdner As String
Dim strDatei As String
Dim strSheet As String
strProjekt = "EIP" 'Projektname eintragen'
'Kopieren des 1. Sheets'
strOrdner = "\..\1 Asset List\"
strDatei = "Asset List.xls"
strSheet = "Asset List"
Workbooks.Open Filename:=ThisWorkbook.Path & strOrdner & strProjekt & "_" & strDatei
strBereich = "A1:" & Application.Workbooks(strProjekt & "_" & strDatei).Worksheets(strSheet) _
_
.Cells.SpecialCells(xlCellTypeLastCell).Address
Workbooks(strProjekt & "_" & strDatei).Worksheets(strSheet).Cells.Copy ThisWorkbook. _
Worksheets(strSheet).Cells
ThisWorkbook.Worksheets(strSheet).Range(strBereich).Value = ThisWorkbook.Worksheets( _
strSheet).Range(strBereich).Value
Application.DisplayAlerts = False
Workbooks(strProjekt & "_" & strDatei).Close
Application.DisplayAlerts = True
'Kopieren des 2. Sheets'
strOrdner = "\..\2 Rent Roll\"
strDatei = "Rent Roll.xls"
strSheet = "Rent Roll"
Workbooks.Open Filename:=ThisWorkbook.Path & strOrdner & strProjekt & "_" & strDatei
strBereich = "A1:" & Application.Workbooks(strProjekt & "_" & strDatei).Worksheets(strSheet) _
_
.Cells.SpecialCells(xlCellTypeLastCell).Address
Workbooks(strProjekt & "_" & strDatei).Worksheets(strSheet).Cells.Copy ThisWorkbook. _
Worksheets(strSheet).Cells
ThisWorkbook.Worksheets(strSheet).Range(strBereich).Value = ThisWorkbook.Worksheets( _
strSheet).Range(strBereich).Value
Application.DisplayAlerts = False
Workbooks(strProjekt & "_" & strDatei).Close
Application.DisplayAlerts = True
End Sub


Viele Grüße,
Boris

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Datenaustausch zwischen Dateien (Nachtrag)
27.02.2008 10:43:00
Boris
Habe noch etwas vergessen. Kann man die eigenen Beiträge nicht editieren?
Falls eine der Quelldateien bereits geöffnet ist, soll diese nicht nochmal geöffnet werden und am Schluss auch geöffnet bleiben, also nicht geschlossen werden... habe da schon etwas rumprobiert, aber keine Lösung gefunden....
Boris
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige