| 
    
     |  | >▼おにこ さん: >
 >語と語の区切りは「、」
 >だとして、
 >
 >(元)  AA列
 >たぬき<みどり>、きつね
 >
 >(移動後)
 >  AA列             AH列
 >きつね             たぬき<みどり>
 
 >となればいいのですか?
 >
 
 上のコードでやっていることを図で説明します。
 
 AA列を1行づつ順に処理していきます。
 セルの文字列中に「<」があったときだけ、移動処理をします。
 >    If InStr(ss, "<") > 0 Then
 
 >      aa = Split(ss, "、") 'セルの文字列を「、」で分割
 分割したリストを2つのComboBoxのリストにセットします。
 (このComboBoxは 見えません)
 >      List1.List = aa
 >      List2.List = aa
 List1           List2
 ┌─────────┐   ┌─────────┐
 │たぬき<みどり> │   │たぬき<みどり> │
 │きつね      │   │きつね      │
 │         │   │         │
 │         │   │         │
 │         │   │         │
 │         │   │         │
 └─────────┘   └─────────┘
 
 >      With List1
 このリストを下から調べていきます。
 >        For i = .ListCount - 1 To 0 Step -1
 もし対象リストアイテムに「<*>」が含まれていたら
 >          If .List(i) Like "*<*>*" Then
 List1からそのアイテムを削除します
 >            .RemoveItem i
 >          Else
 含まれていなければ、List2のその行を削除します
 >            List2.RemoveItem i
 >          End If
 >        Next
 >      End With
 
 この処理がおわると、2つのリストは以下のようになっています
 List1           List2
 ┌─────────┐   ┌─────────┐
 │きつね      │   │たぬき<みどり> │
 │          │   │         │
 │         │   │         │
 │         │   │         │
 │         │   │         │
 │         │   │         │
 └─────────┘   └─────────┘
 それぞれのリストを(アイテムが複数あれば「、」でJoinして)
 AA列とAH列に貼り付けます。
 >      c.Value = aa
 >      c.Offset(, 7).Value = ah
 
 |  |