- ベストアンサー
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; としたいのですが、どうしたらいいですか?
- みんなの回答 (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;
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17069)
補足のこと。 データはエクセルのシートにあるのか。 その有様の説明が、普通と違うので、理解できない。 シートの行、列、セルの関係をはっきりさせるような説明を書くこと。 「;」は何のつもりか?質問者の我流ではないか?何かプログラム経験があるのか?もしそうなら、そういう中途半端な経験が、却って説明の邪魔をする例を見てきた。エクセルはエクセルの流儀がある。
お礼
ありがとうございました。
お礼
ありがとうございました。