Hi,
Jetzt habe ich aber einseltsames Problem.
Ich habe mehrere Tabellen (7) die ich aus einer Tabelle heraus aktualisiere.
Das heist ich habe 7 Bezirke (Nord, Ost, Mitte, Südwest, usw.)
Die Dateien habe ich als .xlsm Dateien gespeichert.
Entsprechend Nord.xlsm, Ost.xlsm.....
Ich habe in der Quelldatei eine Spalte, die ich bei jedem Suchdurchlauf abfrage, in der Nord, Ost...steht.
Manchmal übernimmt die Variable aber nicht den Wert, der in der Zelle steht.
Dann steht in der Variblen ZName (Zielname des Workbooks) nur ".xlsm"
Meistens funktioniert es, aber so alle 10-20 Durchläufe bleibt es hängen.
Ich habe versucht durch DoEvents und einer Schleife dies abzufangen (Mache es halt nochmal) aber es funktioniert nicht. Es bleibt immer wieder hängen.
Bei über 2.000 Suchzeilen ein NoGo.
Vielleicht hattet ihr ja auch schon mal so ein Problem?
Habt ihr einen Tipp?
Hier der Teilcode um den es geht:
Suche:
'Meldungsnummern im Datenexport
With Workbooks(QName.Name).Worksheets(QSheet.Name) ' Mit der Quelldatei, Quellsheet
Set rngDatenexport = .Range("A2", .Cells(.Rows.Count, "A").End(xlUp)) 'Die Range "A2" bis letzte Zeile in Spalte "A"
End With
Dim rngDatenexportNr As Excel.Range
Dim rngDokumentationNr As Excel.Range
Dim Suchwert As Range
Dim Gefunden As Variant
Dim ZZeile As Long
Dim QZeile As Long
Dim QletzteZeile As Long
Dim SuchZeile As Long
For Each Suchwert In rngDatenexport.Cells ' Da setzt man die Range in einzelne Zellen um
Nochmal:
SuchZeile = Suchwert.Row
DoEvents
ZName = Range(QRB & SuchZeile).Value & ".xlsm"
DoEvents
If ZName = ".xlsm" Then
GoTo Nochmal
End If
'Meldungsnummern im Zielsheet (Ändert sich bei jedem Durchlauf)
With Workbooks(ZName).Worksheets(ZSheet) ' mit der Zieldatei, Zielsheet
Set rngDokumentation = .Range("C3", .Cells(.Rows.Count, "C").End(xlUp)) 'Die Range "C3" bis letzte Zeile in Spalte "C"
End With
Gefunden = Application.Match(Suchwert, rngDokumentation, 0)
QZeile = Suchwert.Row 'Ermitteln der Quellzeile
ZZeile = Gefunden + 2 'Ermitteln der Zielzeile +2 weil Start ab C3
Ich sage schon einmal Danke.
|