- ベストアンサー
エクセルで表を展開するマクロを作りたい
- エクセルで表を展開するマクロを作りたいです。具体的には、指定した範囲のセルの値を区切り文字で分割し、新たな行に展開する処理を行いたいです。
- 展開したい表は、例えば「1,2,3」や「abc,def,ghi」といった形式で値が入っているものです。
- また、作成したマクロは、10列目までの対応が必要です。具体的なマクロのコードとして、指定範囲のセルの値を分割し、新たな行に展開する処理と、空白のセルを前の行の値で埋める処理が含まれます。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは。全然詳しくないのですが・・ ご質問の内容ですが、 (1)A1セルに入っているテキストをカンマで区切った数値を、 A列に入力していく。 (2)A列に入力されたセルの数にしたがって、B1・C1・D1 のテキストを、B列・C列・D列に入れていく。 こういうことでいいのでしょうか。 お作りになったものとだいぶ違いますが、私は下記のとおりに しました。 Sub test() Dim ax As String 'A1セルに入っているテキストを代入するための変数 Dim num As Integer, i As Integer '個数や回数を代入するための変数 Dim arr As Variant '配列を格納 Dim tex As String '文字列を代入するための変数 'A1セルに入っているテキストをA列に展開 Range("A1").Select ax = ActiveCell.Formula arr = Split(ax, ",") For i = 0 To UBound(arr) num = i + 1 Cells(num, 1).Value = arr(i) Next i 'B~D列を展開 For i = 1 To 3 ActiveCell.Offset(, 1).Select tex = ActiveCell.Formula Selection.Resize(num, 1).Select Selection.Formula = tex Selection.Resize(1, 1).Select Next i End Sub もしも勘違いだったらすみません。
お礼
こんにちは!! 完璧でしたーーーーー♪ ほんとに助かりました!! どうもありがとうございました☆