2017-07-17 5 views
0

Ich habe eine Excel-Arbeitsmappe, in der der Bereich dynamisch ist. Ich möchte den Maximalwert dieses Dynamikbereichs finden. Hier ist der Teil meines Code, wo ich versuche, den maximalen Wert zu findenROUNDUP Formeln in VBA über einen dynamischen Bereich

Set SearchRng1 = Cells(2, 2) 
    Debug.Print SearchRng1.Address 
    Set SearchRng2 = Cells(LastRow, j + 2) 
    Debug.Print SearchRng2.Address 

    With hidden3ws 
    Worksheets("Hidden3").Activate 
    Range("B2").Formula = "=ROUNDUP(MAX('Incre_Calc_A'!SearchRng1:SearchRng2),-1)" 
    End With 

Aber der Ausgang dieses ist = #NAME? Kann mir jemand mit diesem Code helfen, damit ich einen tatsächlichen Wert bekomme? Danke im Voraus!

+0

nicht verwenden 'Worksheets („Hidden3“) Activate' wenn auf Zellen auf Arbeitsblatt„Hidden3“beziehen .... verwenden'. Arbeitsblätter ("Hidden3"). Bereich ("B2"). Formula = .... 'bezieht sich direkt auf die Zelle – jsotola

Antwort

2

Sie müssen die Variablen aus der Zeichenfolge entfernen und verketten:

Set SearchRng1 = Cells(2, 2) 
Debug.Print SearchRng1.Address 
Set SearchRng2 = Cells(LastRow, j + 2) 
Debug.Print SearchRng2.Address 

With hidden3ws 
Worksheets("Hidden3").Activate 
Range("B2").Formula = "=ROUNDUP(MAX('Incre_Calc_A'!" & SearchRng1.Address & ":" & SearchRng2.Address & "),-1)" 
End With 
Verwandte Themen