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