• ベストアンサー

セル内で移動?

セルの中で、カンマ区切りで英数字が並んでいるのですが、その英数字を昇順で並べ替えしたいのですが、1つのセルの中で並べ替えはできるのでしょうか? 例えば セル内に(A3,A5,A6,A2)と入力されていた場合(A2,A3,A5,A6)にしたいのですが・・・ カンマ区切りのように、列が増えると困るのです、セル内で出来る方法があれば教えてください。

質問者が選んだベストアンサー

  • ベストアンサー
  • mu2011
  • ベストアンサー率38% (1910/4994)
回答No.2

>セル内で出来る方法があれば教えてください  ⇒セル内で並び替える事はマクロ(VBA)組み込みでしかないと思います。 マクロ例です。 A列にカンマ区切りデータとしています。 データシートタブ上で右クリック→コードの表示→以下のコードを貼り付け→F5キー押下 Sub sample() For i = 1 To Cells(Rows.Count, "A").End(xlUp).Row wk = Split(Cells(i, "A"), ",") For j = 0 To UBound(wk) For k = UBound(wk) To j Step -1 If wk(j) > wk(k) Then swap = wk(j) wk(j) = wk(k) wk(k) = swap End If Next k Cells(i, "A") = Join(wk, ",") Next j Next i End Sub

124nannan
質問者

お礼

なるほど~~ 早速トライしてみます。 ありがとうございました。

その他の回答 (1)

  • Cupper-2
  • ベストアンサー率29% (1342/4565)
回答No.1

セルを編集すればOK。 難しく考える必要なし。 たくさんあって編集では追いつかないとか言うのでしたら、 一度分解して並べ替えてから結合ですね。 他のシートに 「区切り位置」 機能で列方向に分解して、並べ替えて、結合した物をコピーして貼り付け直せば オリジナルのシートに列が増えることはありません。

124nannan
質問者

お礼

ありがとうございます。 早速試してみます、助かりました。

関連するQ&A