2013-02-19 1 views
-4

나는 몇 행의 데이터를 포함하는 열과 빈 셀을 가지고있다.빈칸까지 열의 위쪽으로 계산 하시겠습니까?

빈 셀까지 열을 위쪽으로 계산하고 VBA을 사용하여 숫자를 합산하는 방법이 필요합니다. 어떤 아이디어?

+0

, 난 당신이'xlUp'을 시도해 봤어 VBA – SCGB

+2

를 사용 하시겠습니까? 편집 : 그것을 시도 하시겠습니까? –

답변

2

나는 당신이 무엇을 요구하고 있는지 확실하지 않습니다. "합계"라고 말하지만 합계하려는 숫자가 계산 된 행 수이거나 찾은 셀의 값을 합산하려는 경우 지정하지 마십시오. 빈 셀이 마지막 빈 세포 사이의 세포를 요약됩니다 발견되면 이는 맨 아래 행에서 시작하고 빈 셀 을 찾을 때까지 위로 계산합니다 :

-Edit-

이에게 시험을주십시오 현재 빈 셀 첫 번째 행은 또한 합산 도착하므로

-Edit2-

라이트는 열 헤더 아래 행에 삽입한다. 나는 데이터가 셀 옆에있을 경우, 그러나 그것은 작동하지 않습니다 CurrentRegion를 사용하여 시도

Sub CountUp() 
    Dim TotalRows As Long 
    Dim TotalCols As Long 
    Dim Col As Long 
    Dim i As Long 
    Dim n As Long 

    Rows(2).Insert Shift:=xlDown 
    TotalRows = ActiveSheet.UsedRange.Rows.Count 
    TotalCols = ActiveSheet.UsedRange.Columns.Count 
    'Assumes Data you want to sum is in the first column 
    Col = 1 

    Cells(TotalRows, Col).Select 
    For i = TotalRows To 1 Step -1 
     If Cells(i, Col).Value <> "" Then 
      n = n + 1 
     Else 
      Cells(i, Col).Formula = "=SUM(" & Cells(i + 1, Col).Address(False, False) & ":" & Cells(i + n, Col).Address(False, False) & ")" 
      n = 0 
     End If 
    Next 
End Sub 
+0

고맙습니다. – SCGB

+0

각 공백 사이의 데이터 합계를 내 대답으로 업데이트했습니다. – Ripster

+0

1 개의 다른 것, 그것은 가능하기 때문에 공백으로 첫 번째 행을 계산합니까? 실제로 비어있는 것은 아니지만 스크립트가 망설 인 것 같습니다. – SCGB

0

열 F를 열로 가정하고 숫자가 있습니다. 아래 코드를 사용해보십시오.

Sub sumAndcount() 
    Dim recCount As Long 
    Dim recSum As Long 

    Range("A65000").Value = "=COUNT(F:F)" 
    recCount = Range("A65000").Value 

    Range("A65000").Value = "=SUM(F:F)" 
    recCount = Range("A65000").Value 
End Sub