(Excel 2010を使用して)前の数値以外の文字に基づいて、1つのセル内の一連の数値を合計する数式またはマクロを作成しようとしています。マクロは同じセル内のデータに基づいて数値を合計しますか?
例えば、私が読み、セルがあります。
ABC1|HIJ2|ABC4|ABC3|DEF5|ABC2|DEF8|ABC5
をしかし、私はそれを読んでする必要があります:
ABC15|DEF13|HIJ2
すべての関連データ(単一のセルに来ますほとんどの場合、ランダムな順序であるため、問題は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
最後の結果を1つのセルに限定しながらこれを行う方法はありますか?
お時間を割いてお手伝いいただき、ありがとうございます。
ようこそStackOverflow。これは無料のコード作成サービスではありませんのでご注意ください。しかし、私たちは、仲間のプログラマー(そして志望者)が自分のコードを書くのを助けることを熱望しています。 [良い質問をするにはどうすればよいですか](http://stackoverflow.com/help/how-to-ask)のヘルプトピックをお読みください。また、ツアー中に(http://stackoverflow.com/tour)、バッジを獲得することもできます。その後、達成したい課題を完了するために、これまでに書いたVBAコードで質問を更新してください(上記の式では解決できないため)。 – Ralph
それは常に3文字と数字のどちらですか? – SJR
はい、それは常に同じ形式のXYZ1(アルファ - アルファ - アルファ - 数字)に従います – Janim