Excel (2010)을 사용하여 이전의 숫자가 아닌 문자를 기반으로 한 셀 내에서 일련의 숫자를 더하기 위해 수식 또는 매크로를 만들려고합니다.동일한 셀 내의 데이터를 기반으로 숫자 값의 합계를 계산하려면?
예를 들어, 내가 읽고 셀이 있습니다
ABC1|HIJ2|ABC4|ABC3|DEF5|ABC2|DEF8|ABC5
을하지만 그것을 읽을 필요가 :
ABC15|DEF13|HIJ2
모든 관련 데이터 (A의 단일 셀에 온다 대부분) 임의 순서이므로 문제는 2 단계로 구성됩니다. 먼저 셀 내의 모든 데이터를 자동으로 알파벳 순으로 정렬하고 모든 "ABC", "DEF"등을 합산합니다.
다음 코드를 사용하여 데이터를 자동으로 알파벳순으로 정렬했지만 지금은 어디서 가야할지를 놓치고 있습니다. 내 인터넷 검색을 통해 이러한 종류의 작업을 수행하려면 멀티 태스킹이 필요합니다. 세포 용액.
Sub Macro()
Dim Rng As Range
Dim WorkRng As Range
Dim Arr As Variant
On Error Resume Next
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
Set objArrayList = CreateObject("System.Collections.ArrayList")
For Each Rng In WorkRng
Arr = VBA.Split(Rng.Value, "|")
For i = 0 To UBound(Arr)
xMin = i
For j = i + 1 To UBound(Arr)
If Arr(xMin) > Arr(j) Then
xMin = j
End If
Next j
If xMin <> i Then
temp = Arr(i)
Arr(i) = Arr(xMin)
Arr(xMin) = temp
End If
Next i
Rng.Value = VBA.Join(Arr, "|")
Next
End Sub
마지막 결과를 단일 셀로 제한하면서이 작업을 수행 할 수있는 방법이 있습니까?
시간을내어 도움을 주셔서 감사합니다.
Welcome to StackOverflow. 이 코드는 무료 코드 작성 서비스가 아닙니다. 그러나 동료 프로그래머 (및 지망자)가 자신의 코드를 작성하는 것을 돕기 위해 열심입니다. [좋은 질문을하는 방법] (http://stackoverflow.com/help/how-to-ask)의 도움말 항목을 읽으십시오. 그렇게하는 동안 [둘러보기] (http://stackoverflow.com/tour)를하고 배지를 획득 할 수도 있습니다. 그 후에, 당신이 달성하고자하는 과제를 완료하기 위해 지금까지 작성한 VBA 코드로 질문을 업데이트하십시오. (공식은 공식으로 풀 수 없기 때문에). – Ralph
항상 3 글자이고 그 다음 숫자입니까? – SJR
예, 항상 동일한 형식의 XYZ1 (영문자 - 영문자)을 사용합니다. – Janim