• ベストアンサー

VBA

1 a;b;c;d; 2 e;f;g;h; 3 i;j;k;l; をVBAで   1 a;   2 e;   3 i;   1 b;   2 f;    3 j;   1 c;   2 g;   3 k;   1 d;   2 h;   3 l; としたいのですが、どうしたらいいですか?

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

  • ベストアンサー
  • watabe007
  • ベストアンサー率62% (476/760)
回答No.2

   A     B   C 1 1 a;b;c;d; 2 e;f;g;h; 3 i;j;k;l; 2 と、データが有るものと仮定しました。 Sub Test()   Dim H As String, v As Variant   Dim c As Range, i As Long   For Each c In Range("A1:C1")     H = Left(c.Value, 2)     v = Split(Mid(c.Value, 3, 255), ";")     For i = 0 To UBound(v) - 1       c.Offset(i + 1).Value = H & v(i) & ";"     Next   Next End Sub マクロ実行で    A     B   C 1 1 a;b;c;d; 2 e;f;g;h; 3 i;j;k;l; 2 1 a;    2 e;   3 i; 3 1 b;    2 f;   3 j; 4 1 c;    2 g;   3 k; 5 1 d;    2 h;   3 l;

tokusenn
質問者

お礼

ありがとうございました。

その他の回答 (1)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.1

補足のこと。 データはエクセルのシートにあるのか。 その有様の説明が、普通と違うので、理解できない。 シートの行、列、セルの関係をはっきりさせるような説明を書くこと。 「;」は何のつもりか?質問者の我流ではないか?何かプログラム経験があるのか?もしそうなら、そういう中途半端な経験が、却って説明の邪魔をする例を見てきた。エクセルはエクセルの流儀がある。

tokusenn
質問者

お礼

ありがとうございました。

関連するQ&A

専門家に質問してみよう