Collapse column

Autor Thema: Office 2010: Sammelmakro-Probleme beim erfassen der Daten....  (Gelesen 883 mal)

Offline Patrick1349

  • Newbie
  • *
  • Beiträge: 1
    • Profil anzeigen
  • Office-KnowHow: Fortgeschritten
  • VBA-KnowHow- : Mittelmäßig
  • Version [Office] : Office 2010
Office 2010: Sammelmakro-Probleme beim erfassen der Daten....
« am: April 09, 2014, 15:40:55 Nachmittag »
Hallo!

ich habe folgende Frage: Ich habe es mit viel Hilfe geschafft ein Makro zu schreiben, was Daten aus anderen Dateien Sammelt und in einer Tabelle zusammenfast.

Jetzt habe ich aber folgende Probleme:

Erstens fängt er immer in Zeile 2 An Daten zu suchen.

Zweitens holt er sich Daten aus Dateien, die ich schon gelöscht habe.

Drittens: wirft er Daten aus, die nirgendwo stehen.

Vielleicht könnt Ihr mir weiterhelfen.

 

Hier mal der Code:

 

Sub Zusammenfassen()
Dim ArFiles()
Dim Q, Z
Dim R&, n&, nn&
Dim sQuellPfad$, sDir$
Dim wbGes As Workbook, wbQuelle As Workbook

sQuellPfad = "C:\Ringversuchsauswertungen\"
'Dateien Suchen
ChDrive sQuellPfad
ChDir sQuellPfad
sDir = Dir(sQuellPfad & "*.xls", vbNormal)
Do While sDir <> ""
    ReDim Preserve ArFiles(n)
    ArFiles(n) = sQuellPfad & sDir
    n = n + 1
    sDir = Dir$()
Loop

'alte Daten löschen
Set wbGes = ActiveWorkbook
With wbGes.Worksheets(1)
    If .UsedRange.Cells(.UsedRange.Rows.Count, 1).Row > 2 Then
        .Range(.Cells(3, 1), .Cells(.Rows.Count, 1)).EntireRow.Delete
    End If
End With
'Datei gefunden?
If n > 0 Then
    'Bremsen im Excel deaktivieren
    Events_ False
    'Quelle und Ziel.
    Q = Array("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S") 'Quellzellen
    Z = Array("A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L", "M", "N", "O", "P", "Q", "R", "S") ' Zielspalten in Sammeldatei
    'Startzeile in Sammeltabelle
    R = 3
    For n = LBound(ArFiles) To UBound(ArFiles)
        'Datei öffnen
        Set wbQuelle = Workbooks.Open(ArFiles(n), ReadOnly:=True)
        'Datei Tabelle mit Index1
        With wbQuelle.Worksheets(1)
            'Schleife über Spalten im Array Q
            For nn = LBound(Q) To UBound(Q)
                With .Range(Q(nn) & 3, .Range(Q(nn) & .Rows.Count).End(xlUp))
                     wbGes.Worksheets(1).Range(Z(nn) & R).Resize(.Rows.Count).Value = .Value
                        End With
               
               
            Next nn
        End With
        'schließen ohne speichern
        wbQuelle.Close False
        'nächste freie Zeile
        With wbGes.Worksheets(1).UsedRange
            R = .Cells(.Rows.Count, 1).Row + 1
            If R < 3 Then R = 3
        End With
    Next n
    'Bremsen im Excel wieder aktivieren
    Events_ True
Else
    MsgBox "keine Datei gefunden!"
End If

wbGes.Save

MsgBox "Fertig."
       
End Sub

Sub Events_(booOn)
Static lngCalc As Long
With Application
    If booOn = False Then lngCalc = .Calculation
    .Calculation = IIf(booOn, lngCalc, xlCalculationManual)
    .ScreenUpdating = booOn
    .EnableEvents = booOn
    .DisplayAlerts = booOn
End With
End Sub



   

Keine Lösung gefunden? Du kannst Dich gerne an unser erfahrenes Experten-Team wenden und Dein Anliegen in Auftrag geben.
>>> Schnell und einfach ein unverbindliches Angebot anfordern. Per E-Mail an anfrage@excel-inside.de oder per Online-Formular
<<<

!!! Wichtige Information
!!! Dieses Forum steht aus technischen Gründen ab dem 11. September 2019 nur noch im Lesemodus zur Verfügung.
Das NEUE Office-Fragen-Forum kannst du aber unter der gewohnten Domain https://office-fragen.de wie gewohnt nutzen.

- Wir freuen uns auf deinen Besuch im neuen Forum.