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

Datenimport aus einer anderen Excel-Datei

Datenimport aus einer anderen Excel-Datei
15.06.2007 09:26:00
gromminger
Hallo zusammen.
Ich habe zwei Excel Files, eine die länderspezifische Daten hat und eine andere,
die als Summary dient, indem die Daten der einzelnen Ländersheets importiert werden.
Da bei jedem Land die Anzahl der Kategorien unterschiedlich ist, muss ich
zeilenweise vorgehen, indem ich die Kategorie auslese und dann die Wertde in die entsprechende
Zeile der anderen Datei übertrage.
Folgenden Ansatz habe ich gewählt:
Sub DataImport()
Dim vfile As Variant, TName As Variant,
TName = ActiveWorkbook.Name
vfile = Application.GetOpenFilename("Files (*.xls),*.xls")
If vfile = False Then Exit Sub
Workbooks.Open vfile
Call imp_WarEye("Austria")
Call imp_WarEye("Belgium")
Call imp_WarEye("Suisse")
End Sub



Sub imp_WarEye(wsh_name As String)
Dim wbk As Workbook
Dim wsh1 As Worksheet
Dim zeile1 As Integer, spalte1 As Integer
Dim zeile2 As Integer, spalte2 As Integer, spalte3 As Integer
Set wbk = ThisWorkbook
Set wsh1 = wbk.Worksheets(wsh_name)
Set wbk2 = Workbooks("Compare_v5c.xls")
Set wsh2 = wbk2.Worksheets("Summary")
zeile1 = 7
spalte1 = 1
Do Until wbk.Cells(zeile1, spalte1).Value = ""
zeile2 = 2
spalte2 = 1
spalte3 = 2
Do Until wbk2.Cells(zeile2, spalte2) = ""
If wbk2.Cells(zeile2, spalte2).Value = wbk.Name And wbk2.Cells(zeile2, spalte3).Value = _
_
_
_
wbk.Cells(  zeile1, spalte1)
Then
wbk2.Range(wbk2.Cells(zeile2, 3), wbk2.Cells(zeile2, 6)).Value =
wbk.Range(wbk.Cells(zeile1, 2), wbk2.Cells(zeile1, 5)).Value
End If
zeile2 = zeile2 + 1                                                                        _
_
_
_
Loop
zeile1 = zeile1 + 1
Loop
End Sub
Leider komm ich an dieser Stelle nicht mehr weiter,
weil er mir bei  "Set wsh1 = wbk.Worksheets(wsh_name)" ein Subject out of Range meldet.
Wäre nett, wenn Ihr mir weiterhelfen könntet.
Danke und Gruss,
Gromminger

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Datenimport aus einer anderen Excel-Datei
15.06.2007 09:49:00
Dan
Hallo,
in dem wbk (ist der Workbook, wo dieser Code luaft), befindet sich einer von den drei sheets nicht : Austria oder Belgium oder Suisse. Das verursacht warcheinlich die Fehler-Meldung. Gruss Dan, cz

AW: Datenimport aus einer anderen Excel-Datei
15.06.2007 11:19:55
gromminger
Hi.
Habe aus Testzwecken mal es auf Austria reduziert, leider aber ohne Erfolg.
Ich bin mir aber nicht sicher, ob ich einer Range von mehreren Zellen
Werte zuweisen kann. Ich möchte eine Copy-Funktion eigentlich vermeiden,
da ansonsten eine Menge an Daten im Zwischenspeicher landet...
Gruss,
Gromminger

AW: Datenimport aus einer anderen Excel-Datei
15.06.2007 11:28:41
Dan
Hi, und was fuer sheets beinhaltet dein wbk Book?
Sub imp_WarEye(wsh_name As String)
Dim wbk As Workbook
Dim wsh1 As Worksheet
Dim zeile1 As Integer, spalte1 As Integer
Dim zeile2 As Integer, spalte2 As Integer, spalte3 As Integer
Set wbk = ThisWorkbook
' -- dies nur ein Beispiel, so wirst Du sehen, was fuer sheets Du im wbk hast:
dim sh, msg
msg = ""
for each sh in wbk.worksheets
if (msg = "")then
msg = sh.name
else
msg = msg & ", " & sh.name
end if
next sh
msgbox msg,,"Sheets in :" & wbk.name
' --
Set wsh1 = wbk.Worksheets(wsh_name)
Anzeige

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige