Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
Alle Excel aus einem Ordner in ein Haupt-Excel einlesen |
11.05.2011 11:01:56 |
safari |
|
|
|
11.05.2011 23:45:14 |
Till |
|
|
|
12.05.2011 09:05:30 |
safari |
|
|
|
12.05.2011 14:47:35 |
safari |
|
|
Von:
safari |
Datum:
11.05.2011 11:01:56 |
Views:
1767 |
Rating:
|
Antwort:
|
Thema:
Alle Excel aus einem Ordner in ein Haupt-Excel einlesen |
Hallo Zusammen,
Ich muss meinen VBA-Code erweitern und bräuchte eure Hilfe. Momentan ist es so, das ich aus einer Excel-Datei 4 Spalten auslese und diese in das Hauptfile reinschreibe. Zudem ist noch eine Prüfung drin ob der Spalten-Inhalt bereits vorhanden ist, wenn ja wird diese Spalte überschrieben. Das Problem liegt nun anbei das es nicht nur 2-3Files sind die eingelesen werden müssen sondern etwas um die 100.
Ich möchte nun das ich anstatt nur ein File, einen Ordner auswählen und von dort alle Excels welche in diesem Ordner sind einlesen kann, aufs mal.
Dies wäre der jetztige VBA-Code:
Private Sub CommandButton1_Click()
Dim filSRC As Excel.Workbook
Dim strSRC As String
Dim shtTRG As Excel.Worksheet
Dim rngSearch As Excel.Range
Dim rngZelle As Excel.Range
Dim lngFreieZeile As Long
Dim bolExist As Boolean
On Error Resume Next
Application.ScreenUpdating = False
Application.EnableEvents = False
Set shtTRG = ThisWorkbook.Sheets("3_Machbarkeit")
With shtTRG
lngFreieZeile = .Cells(.Cells.Rows.Count, 2).End(xlUp).Row + 1
strSRC = Application.GetOpenFilename("Excel-Arbeitsmappe (*.xls),*.xls,Excel2007-Arbeitsmappe (*.xlsx),*.xlsx", 1, "Importdatei auswählen...", "Importdatei", False)
If strSRC = "" Or strSRC = "Falsch" Then
Set shtTRG = Nothing
Application.ScreenUpdating = True
Application.EnableEvents = True
Exit Sub
End If
Set filSRC = Application.Workbooks.Open(strSRC, , True): DoEvents
' Set rngSearch = .Range("D1:" & CStr(lngFreieZeile - 1))
bolExist = False
For Each rngZelle In shtTRG.Range("D1:D150")
If rngZelle.Value = filSRC.Sheets(1).Range("D1").Value Then
rngZelle.EntireRow.Columns("B") = filSRC.Sheets(1).Range("B1")
rngZelle.EntireRow.Columns("C") = filSRC.Sheets(1).Range("B1")
rngZelle.EntireRow.Columns("D") = filSRC.Sheets(1).Range("D1")
rngZelle.EntireRow.Columns("E") = filSRC.Sheets(1).Range("B2")
rngZelle.EntireRow.Columns("F") = filSRC.Sheets(1).Range("D2")
bolExist = True
Exit For
End If
Next rngZelle
If bolExist = False Then
.Cells(lngFreieZeile, "B") = filSRC.Sheets(1).Range("B1")
.Cells(lngFreieZeile, "C") = filSRC.Sheets(1).Range("B1")
.Cells(lngFreieZeile, "D") = filSRC.Sheets(1).Range("D1")
.Cells(lngFreieZeile, "E") = filSRC.Sheets(1).Range("B2")
.Cells(lngFreieZeile, "F") = filSRC.Sheets(1).Range("D2")
End If
filSRC.Close False
Set filSRC = Nothing
Set rngSearch = Nothing
End With
Set shtTRG = Nothing
Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub
Vielen Dank bereits jetzt für eure Hilfe.
gruss
safari |
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Bitte geben Sie ein aussagekräftiges Thema an.
Bitte geben Sie eine gültige Email Adresse ein!
- Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
- Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
- Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
- Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
- Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei
Antworten auf Ihren Beitrag zu benachrichtigen
Thema
|
Datum
|
Von Nutzer
|
Rating
|
Antwort
|
Alle Excel aus einem Ordner in ein Haupt-Excel einlesen |
11.05.2011 11:01:56 |
safari |
|
|
|
11.05.2011 23:45:14 |
Till |
|
|
|
12.05.2011 09:05:30 |
safari |
|
|
|
12.05.2011 14:47:35 |
safari |
|
|