文字列の比較ロジック

q.hatena.ne.jp/1181460617
では、EXCELにおいて文字列の重複部分を抜き出すロジックを問われています。
ざっとしたロジックなら思い浮かぶのですが、
①詰め切れないので回答するのにためらいがある
VBAの文法がわからない (Cも忘れてるのですが・・)


こんなのではダメ?
文字列A・文字列Bを対象とする。互いの文字列において、
文字列の先頭x文字目からy字を扱っているかを示すのに、
文字列Aにおいては、a+x+y(x=0,1,2,...、y=1,2,3,...)
文字列Bにおいては、b+x+y(x=0,1,2,...、y=1,2,3,...)とします。

'重複文字列を格納する為の配列を定義(初期化必須)
matched_string[]
'互いの文字列長で大小を定義づけ
max_string_length = max( len(A), len(B) )
min_string_length = min( len(A), len(B) )


'文字列の0文字目から、長い方の文字列長までを検索対象とする
'下記for文では、0,max_string_length,1 としてるが、
'max_string_length-1でもいいのでは?

for( compare_position = 0, max_string_length, 1 )


'1文字だけを重複判定してもしょうがない(と思われる)ので、
'2文字以上を検索対象とする。
'今、何文字分を対象としているかを扱う変数が、[i]

  for( i = 2, min_string_length, 1 )
    if( strcomp(a+compare_position+i, b+compare_popristion_i) )
      matched_stirng[compare_position] = a+i
    else
      next compare_position:
    end-if
  next i:
next compare_position:

このDiaryをご覧になった奇特な方で、かつ、上記ロジックがそこそこで、かつ、手直しをしていただける方がいらっしゃいましたら、もともとの質問に答えてあげてください。