2016-07-13 4 views
-2

입력에서 셀 범위가있는 수식을 만드는 데 문제가 있습니다.수식의 동적 셀 범위

Function CellBefore(CellRange As String) 

CellBefore = ActiveSheet.WorksheetFunction.Offset(CellRange, 0, 2).Value 

End Function 
+1

변화'String'로 : 당신은 Range.Offset 방법을 사용할 수 있습니다. 오프셋 (offset)에는, Range 오브젝트가 최초의 인수로서 필요합니다. –

+0

수식이 아래로 변경되었지만 여전히 #VALUE가됩니다. 함수 CellBefore (CellRange As Range) CellBefore (셀 범위) 범위를 변경하려면 다음을 수행하십시오. = ActivSheet.WorksheetFunction.Offset (Range (CellRange), 0, 2) .Value End Function – Crusader0534

+1

CellRange가 @ScottHoltzman 범위 인 경우 오프셋은'.Offset (CellRange, ..')이어야합니다. 주소를 입력 한 다음 문자열을 남겨 두었다가 Scott이 말한 것이 사실이라면 '.Offset (Range (CellRange)' –

답변

2

분명히 .Offset은 매크로 내에서 워크 시트 기능으로 사용할 수 없습니다. Range`으로`에

Function CellBefore(CellRange As String) 
    CellBefore = Range(CellRange).Offset.Value 
End Function 

또는

Function CellBefore(CellRange As Range) 
    CellBefore = CellRange.Offset(0, 2).Value 
End Function 
+0

DUH !!! 너무 바보 같아요. 잘 잡으세요. –

+0

그게 효과가 있습니다! 도움을 주셔서 감사합니다. – Crusader0534