Ich möchte aus einem excel file ein anderes excel (AuswertName) öffnen.
Dann möchte ich das Makro "Temp_in_auswert_berechnen()" ausführen.
Leider bekomm ich immer die Fehlermeldung in dieser Zeile:
x = Reformat.Cells(Rows.Count, 1).End(xlUp).Row
Öffne ich AuswertName manuell. Kopiere den Code in ein Makro und führ es aus, so funktioniert es!
Nur aus einem anderen Excel file nicht.
Weiss jemand wieso und wie kann ich das Problem lösen?
Mit "Reformat.Cells(Rows.Count, 1).End(xlUp).Row" soll die letzte Reihe in dem Sheet "Reformat" ermittelt werden.
Hier der Anfang des Makros
Sub Temp_in_auswert_berechnen()
'On Error Resume Next
Dim x As Integer
x = 0
Application.ScreenUpdating = False
Application.DisplayAlerts = False
'AuswertName = Cells(5, 47).Value
'Workbooks.Open Filename:= _
' AuswertName
'AuswertName = Cells(5, 47).Value
Sheets("Werte_Temp").Select
Dim Reformat, Rauch, Agilent, RefForm, BZ As Worksheet, objS As Worksheet
Datum = Sheets("Protokoll").Cells(1, 18) & Sheets("Protokoll").Cells(5, 2) & "." & Sheets("Protokoll").Cells(1, 19) & Sheets("Protokoll").Cells(5, 3) & "." & Sheets("Protokoll").Cells(5, 4) & " "
' Reformat in Werte_Temp kopieren
'
For Each objS In ThisWorkbook.Worksheets
If objS.Name Like "Ref_Arch*" Or objS.Name Like "Ref_*" Then
If objS.Name Like "Reformereinheit*" Or objS.Name Like "Ref_Einheit*" Then
Exit For
End If
Set Reformat = objS
Exit For
End If
Next
x = Reformat.Cells(Rows.Count, 1).End(xlUp).Row
'Cells(5, 2) = x
For i = 2 To x
j = i + 1
'Reformat Zeit in abhängigkeit
' Selection.NumberFormat = "h:mm:ss;@"
Uhrzeit = Reformat.Cells(i, 1)
Uhrzeit = Replace(Uhrzeit, Datum, "")
Sheets("Werte_Temp").Cells(i + 1, 1) = Uhrzeit
Sheets("Werte_Temp").Cells(i + 1, 1).NumberFormat = "hh:mm:ss"
Sheets("Werte_Temp").Cells(i + 1, 2).FormulaR1C1 = "=RC[-1]-Protokoll!R3C7"
Sheets("Werte_Temp").Cells(i + 1, 2).NumberFormat = "hh:mm:ss"
Sheets("Werte_Temp").Cells(i + 1, 3).FormulaR1C1 = "=RC[-1]*24*3600"
Sheets("Werte_Temp").Cells(i + 1, 3).NumberFormat = "0"
'Reformer Eingang
Formel = (Reformat.Cells(i, 2) + Reformat.Cells(i, 3) + Reformat.Cells(i, 4)) / 3
Sheets("Werte_Temp").Cells(i + 1, 4) = Formel
.......
Danke für eure mühen
gruß
Tom