Guten Morgen,
ich habe mit einer Auswertung ein Problem. Und zwar wird in dem untenstehenden Code die Zeile (Cells(vZelle, 63).Value = date_closed)
übersprungen. Aber nur bei automatischen durchlauf, wenn ich es langsam Schrittweise mit F8 durchlaufen lasse, dann wird der Wert
in die Zeile geschrieben. Ich habe schon herum probiert, finde aber keine Lösung.
Zum Programm:
Ich schaue in meiner Tabelle nach, ob schon ein Datum vorhanden ist (der fette Bereich im Code), wenn nicht, dann berechne ich die Dauer in Monaten zum heutigen Tag.
Und möchte den Wert in vZelle,63 schreiben. Was davor kommt, dient dazu in der anderen Tabelle den WErt zu finden, bzw das eingetragene Datum
in vZelle,59 mit dem Datum der anderen Datei zu vergleichen (mehere Dateien vorhanen mit Endung 2012, 2013 usw.)
Es funktioniert alles, bis auf den Punkt, dass der WErt nicht in die Tabelle geschrieben wird.
Hoffe, dass von euch jemand Rat weiß, die Datei kann ich aus Datenschutzgründen nicht hochladen.
Grüße
Sub Test()
'Laufzeit der Reports updaten
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Dim Dateiname As String
Dim hhh As Double
Dim xxx As Double
Dim loc As Integer
Dim date_closed As String
Dim LZ As Integer
ThisWorkbook.Sheets("test").Range("a10").Select
LZ = Range("a10").End(xlDown).Row
loc = (Range("BJ10").End(xlDown).Row)
Dateiname = Dir("DATEI") 'Dateipfad Zensiert
Do While Dateiname <> ""
Set ext_wb = Workbooks.Open("DATEI")
For vZelle = 91 To LZ
hhh = Mid(Dateiname, 31, 4) 'Jahreszahl auslesen
xxx = ThisWorkbook.Sheets("test").Cells(vZelle, 59).Value 'Jahreszahl auslesen
If hhh = xxx Then
vEingabe = ThisWorkbook.Sheets("test").Range("A" & vZelle).Value
With ext_wb.Sheets("Rep").Columns("B")
Set Reportnummer = .Find(What:=vEingabe, After:=.Cells(.Cells.Count), LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False)
If Not Reportnummer Is Nothing Then
x = Reportnummer.Row
adate = ThisWorkbook.Sheets("test").Cells(vZelle, 61)
If IsEmpty(Cells(vZelle, 62).Value) Then
ext_wb.Sheets("Rep").Cells(Reportnummer.Row, 21).Copy
ThisWorkbook.Sheets("test").Cells(vZelle, 62).PasteSpecial xlPasteValues
date_closed = DateDiff("m", adate, Date)
Cells(vZelle, 63).Value = date_closed
End If
End If
End With
Else: GoTo ExitLoop
End If
Next
ExitLoop:
ext_wb.Close savechanges:=False
Dateiname = Dir()
loc = vZelle
Loop
Application.ScreenUpdating = True
Application.DisplayAlerts = True
End Sub
|