source

VBA의 합계 함수

ittop 2023. 8. 26. 00:01
반응형

VBA의 합계 함수

저는 vba에서 셀을 합산하는 것에 문제가 있습니다.셀(a,b)을 사용해야 합니다.

Range("A1").function="=SUM(Range(Cells(2,1),Cells(3,2)))"

하지만 효과가 없습니다.

함수가 범위의 속성/메소드가 아닙니다.

값을 합하려면 다음을 사용합니다.

Range("A1").Value = Application.Sum(Range(Cells(2, 1), Cells(3, 2)))

편집:

공식을 원하는 경우 다음과 같이 사용합니다.

Range("A1").Formula = "=SUM(" & Range(Cells(2, 1), Cells(3, 2)).Address(False, False) & ")"

'The two false after Adress is to define the address as relative (A2:B3).
'If you omit the parenthesis clause or write True instead, you can set the address
'as absolute ($A$2:$B$3).

항상 같은 범위 주소를 사용할 경우 로리가 제안한 대로 사용할 수 있습니다.

Range("A1").Formula ="=Sum(A2:B3)"

셀에 함수 값을 배치합니다.

어플.Sum은 제 경험으로는 잘 작동하지 않는 경우가 많습니다(또는 적어도 VBA 개발자 환경에서는 어떤 이유로든 Sum을 좋아하지 않습니다).

나에게 가장 잘 맞는 기능은Excel.WorksheetFunction.Sum()

예:

Dim Report As Worksheet 'Set up your new worksheet variable.
Set Report = Excel.ActiveSheet 'Assign the active sheet to the variable.

Report.Cells(11, 1).Value = Excel.WorksheetFunction.Sum(Report.Range("A1:A10")) 'Add the function result.

기능을 셀에 직접 배치합니다.

당신이 찾던 또 다른 방법은 기능을 직접 셀에 넣는 것이라고 생각합니다.셀 값에 함수 문자열을 입력하면 이 작업을 수행할 수 있습니다.셀 값에 함수가 주어지고 함수의 결과가 아닌 것을 제외하고 위와 동일한 결과를 제공하는 예는 다음과 같습니다.

    Dim Report As Worksheet 'Set up your new worksheet variable.
    Set Report = Excel.ActiveSheet 'Assign the active sheet to the variable.

    Report.Cells(11, 1).Value = "=Sum(A1:A10)" 'Add the function.
Range("A1").Function="=SUM(Range(Cells(2,1),Cells(3,2)))"

워크시트 함수(워크시트에서 실제로 사용되는 경우)가 이해하지 못하기 때문에 작동하지 않습니다.Range또는Cell

해라

Range("A1").Formula="=SUM(" & Range(Cells(2,1),Cells(3,2)).Address(False,False) & ")"
Range("A10") = WorksheetFunction.Sum(Worksheets("Sheet1").Range("A1", "A9"))

어디에

Range("A10")응답 셀입니다.

Range("A1", "A9")계산할 범위입니다.

언급URL : https://stackoverflow.com/questions/11707888/sum-function-in-vba

반응형