アルゴリズムで
今エクセルにて簡単なデータ処理をしているのですが、どうしても浮かばないアルゴリズムがあるので、教えて下さい。
Excel2003 VBAにおいて、
A列にアルファベットが並んでいます。
B列、C列には適当な数値が入っています。
Do~LoopにてA列の空白欄までループを回していて、その中で決めたアルファベットが来た時(例えばF)に、そこから次の指定したアルファベット(例えばS)が来るまでB列のセルの数字とC列のセルの数字を足したものをD列のセルに記入します。
決めたアルファベットには規則性はないのですが、一度使った全てのアルファベットが終わるまで来ません。
具体的に描かせてもらうと、A~LまでK~Zまでが分かれており、A~Lはランダムに順に並んでおり、次に順にK~Zまではランダムに並び。全てのアルファベットが終わったら、またらA~Lまでランダムに並び、次にK~Zまで並びます。
これが、何回も続いています。
先の例えに準じて書かせていただくと、Fが来たらそこからB列とC列の計算を始めて、Sが来たらその計算を終える。
また、次にFが来たら、B列とC列の計算を始めてSが来たらその計算を終える。
と言うものです。
これに関して、どうしてもアルゴリズムが浮かびません。
y=1
Do Until Cells(y,1).Value = ""
If Cells(y,1).Value = "F" Then
…
End If
y=y+1
Loop
と考えたのですが、こうなるとFが来た時だけしか処理をしません。
ランダムに来るFからSの部分を計算するにはどうしたらよいでしょうか?
お知恵を拝借させて下さい。
お願いします。
お礼
取ることに成功しました。早速のご回答ありがとうございます。