Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1520to1524
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
Inhaltsverzeichnis

zzgl. Feld bei Import

zzgl. Feld bei Import
31.10.2016 10:48:55
Fred
Hallo VBA Experten,
Die Aktion in meiner Arbeitsmappe:
Ich importiere in meine Arbeitsmappe / Blatt „Basis“ die ersten 9 Spalten eines jeden Tabellenblattes aus der Arbeitsmappe „Aktuell“.
Ziel von diesem Import ist mein Tabellenblatt „Basis“, beginnend bei „A2“
Der code:

Sub DatenImport()
Dim wksZ As Worksheet, wksQ As Worksheet, wkbQ As Workbook
Const strWkbQ As String = "Aktuell.xls"
Application.ScreenUpdating = False
Set wksZ = ThisWorkbook.Sheets("Basis")
On Error Resume Next
Set wkbQ = Workbooks(strWkbQ)
On Error GoTo 0
If wkbQ Is Nothing Then
Set wkbQ = Workbooks.Open(ThisWorkbook.Path & "\00_Daten\" & strWkbQ)
End If
For Each wksQ In wkbQ.Worksheets
wksQ.Cells(1, 1).CurrentRegion.Offset(1).Resize(, 9).Copy _
wksZ.Cells(Rows.Count, 1).End(xlUp).Offset(1)
Next
wkbQ.Close False 'QuellWB ohne zu speichern schließen
End Sub

Ich möchte, dass jeder eingefügten Zeile eine weitere Spalte mit der Bezeichnung „S_10“ zugefügt wird.
Kann mir bitte jemand diesen Code daraufhin ergänzen?
Mit freundlichen Grüßen
Fred

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: zzgl. Feld bei Import
31.10.2016 13:12:59
Bastian
Hast du eine Muster Datei?
Dann kann man dir weiter helfen.
Gruß Basti
AW: zzgl. Feld bei Import
31.10.2016 13:43:21
Fred
Hallo Basti,
naja, meine Anfrage weicht etwas von der Praxis ab.
Es werden Daten aus 6 Mappen nacheinander eingefügt. Es geht um Fußballergebnisse aus unterschiedlichen Ligen.
Zur einfacheren Berechnung möchte ich bei/nach Import, die jeweiligen Daten einer Saison-Bezeichnung zuordnen. Die Bezeichnungen sollen in die Spalte „J“
Also, den Daten aus Mappe „Aktuell“ die Bezeichnung „Saison16_17“ in jede eingefügte Zeile,
den Daten aus Mappe „1Jahr“ jeweils die Bezeichnung „Saison15_16
den Daten aus Mappe „2Jahre“ jeweils die Bezeichnung „Saison14_15
den Daten aus Mappe „3Jahre“ jeweils die Bezeichnung „Saison13_14
den Daten aus Mappe „4Jahre“ jeweils die Bezeichnung „Saison12_13
den Daten aus Mappe „5Jahre“ jeweils die Bezeichnung „Saison11_12
Ich kann dir leider nur eine vereinfachte Beispielmappe hochladen, u.a. hat die Original bisher über 42000 DS
mfg
Fred
https://www.herber.de/bbs/user/109119.xlsm
Anzeige
AW: zzgl. Feld bei Import
31.10.2016 13:50:10
Bastian
Ja nun müsste man nur noch wissen wo die "Saison16_17" stehen sind das die Tabellen Namen in den einzelnen Mappen ?
Gruß Basti
AW: zzgl. Feld bei Import
31.10.2016 13:54:50
Fred
Basti,
in Tabelle "Basis", Spalte "J", da soll jeweils die Bezeichnung rein
mfg
Fred
AW: zzgl. Feld bei Import
31.10.2016 15:43:04
Bastian
Hey Fred Probier mal so =)
Gruß Basti
Sub DatenImport()
Dim wksZ As Worksheet, wksQ As Worksheet, wkbQ As Workbook, wksQArray
Const strWkbQName As String = "Saison11_12,Saison12_13,Saison13_14,Saison14_15,Saison15_16, _
Saison16_17"
Const strWkbQ As String = "5Jahre.xls,4Jahre.xls,3Jahre.xls,2Jahre.xls,1Jahre.xls,Aktuell.xls" _
Application.ScreenUpdating = False
Set wksZ = ThisWorkbook.Sheets("Basis")
On Error Resume Next
For WB = LBound(Split(strWkbQ, ",")) To UBound(Split(strWkbQ, ","))
Set wkbQ = Workbooks(Split(strWkbQ, ",")(WB))
On Error GoTo 0
If wkbQ Is Nothing Then
Set wkbQ = Workbooks.Open(ThisWorkbook.Path & "\00_Daten\" & Split(strWkbQ, ",")(WB))
End If
For Each wksQ In wkbQ.Worksheets
wksQArray = wksQ.Cells(1, 1).CurrentRegion.Offset(1).Resize(, 8).Value
wksZ.Cells(wksZ.Rows.Count, 1).End(xlUp).Offset(1).Resize(UBound(wksQArray, 1), UBound( _
wksQArray, 2)) = wksQArray
wksZ.Cells(wksZ.Rows.Count, "I").End(xlUp).Offset(1).Resize(UBound(wksQArray, 1) - 1) =  _
Split(strWkbQName, ",")(WB)
Next
wkbQ.Close False 'QuellWB ohne zu speichern schließen
Next WB
Application.ScreenUpdating = False
End Sub

Anzeige
AW: zzgl. Feld bei Import
31.10.2016 16:59:50
Fred
Hallo Bastian,
das Du alle VBA`s in eines legst, ist ja schon der Hammer.
Leider wird beim abarbeiten ein Syntaxfehler angegeben, es handelt sich um den Teil:

Const strWkbQName As String = "Saison11_12,Saison12_13,Saison13_14,Saison14_15,Saison15_16, _
Saison16_17"
Habe selbst versucht, zB durch "alles in eine Zeile zu schreiben", dies zu korrigierien, aber mein vba-Wissen reicht selbst hier nicht.
Wo liegt der Fehler?
Gruß
Fred
AW: zzgl. Feld bei Import
31.10.2016 18:56:40
Bastian
Hey Fred guck mal ob das so geht bei dir ?
Gruß Basti
Denk Dran das du es in deinen Ordner speichern musst ;)
https://www.herber.de/bbs/user/109123.xlsm
Anzeige
Danke Bastian
31.10.2016 21:01:00
Fred
Hallo Basti,
danke für die tolle Arbeit.
.... wksZ.Rows.Count, "J" ... und Offset(1).Resize(, 9) geändert ... und es ist so, wie ich es haben wollte. Das Du aus den 5 vba`s eines gemacht hast, ist großer Sport :-)
Bei bis zu 60.000 DS bis Mitte nächsten Jahres ist es wohl ohnehin sehr ratsam, bei Code und Formel so effektiv wie möglich, die Mappe aufzubauen.
Danke für deine professionelle Unterstützung!
Gruß
Fred
AW: Danke Bastian
01.11.2016 08:43:52
Bastian
Ach ich bin kein Profi aber ich denke dafür ,das ich 1Jahr mich damit erst befasse geht es =D
Schönen Dienstag
Gruß Basti

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige