는 항목을 저장하기 위해, 그렇지 않으면 내가 배열을 만들 것입니다, 범위를 벗어난 첨자와 이상을 +/- '의'
당신은 단지 당신의 예에서와 같이 5 개 항목이 제공 데리러 합계는 매번 배열을 반복하여 다음 항목이 이미 배열에 있는지 여부를 확인하여 합계를 더하고 배열에 추가합니다.
Sub test()
Dim arr As Variant
Dim n, Apples, Oranges, Banana, Mangoes, Melon As Integer
Apples = 0
Oranges = 0
Banana = 0
Mangoes = 0
Melon = 0
n = 0
For Each Cell In Sheets(1).UsedRange.Cells
If IsEmpty(Cell) Then GoTo 0
arr = Split(Cell, "=")
If Left(arr(0), 5) = "Apple" Then
Apples = Apples + arr(1)
End If
If Left(arr(0), 6) = "Orange" Then
Oranges = Oranges + arr(1)
End If
If Left(arr(0), 6) = "Banana" Then
Banana = Banana + arr(1)
End If
If Left(arr(0), 5) = "Mango" Then
Mangoes = Mangoes + arr(1)
End If
If Left(arr(0), 5) = "Melon" Then
Melon = Melon + arr(1)
End If
0
Next
Sheets(2).Cells(1, 2).Value = Apples
Sheets(2).Cells(2, 2).Value = Oranges
Sheets(2).Cells(3, 2).Value = Banana
Sheets(2).Cells(4, 2).Value = Mangoes
Sheets(2).Cells(5, 2).Value = Melon
End Sub
VBA가 필요한 경우 (여러 번 또는 많은 양의 데이터를 처리해야 할 필요가 있음) 데이터 원본을 검사하여 사용 가능한 형식으로 차용해야합니다. 한 열은 과일이고 다음 열은 수량입니다. 그렇게하면 인생이 극도로 단순 해지고 VBA가 전혀 필요 없습니다. – Rdster
은 위의 예입니다. 원본 파일에는 csv 파일로 생성 된 많은 양의 데이터가 있습니다. 숫자를 나누어 계산하는 방법에 대한 논리를 이해하고 싶습니다. – Jane
VBA를 피하려면 모든 셀을 한 열에 넣은 다음 리본의'데이터 '탭 아래에'텍스트를 열로'사용하는 것이 좋습니다. 그러면'COUNTIF()'수식을 사용할 수 있습니다. 그것은 가장 쉬운 길입니다. – Brian