Thema Datum  Von Nutzer Rating
Antwort
Rot Sammelmakro übernimmt nicht alle Daten
09.04.2014 15:25:34 Patrick
NotSolved

Ansicht des Beitrags:
Von:
Patrick
Datum:
09.04.2014 15:25:34
Views:
3900
Rating: Antwort:
  Ja
Thema:
Sammelmakro übernimmt nicht alle Daten

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


Ihre Antwort
  • 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: Name: Email:



  • 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
Rot Sammelmakro übernimmt nicht alle Daten
09.04.2014 15:25:34 Patrick
NotSolved