A1セル内の要素の個数分(=(UBound(Items) + UBound(w)個分)、行を挿入してから、その挿入した行にこれらの配列の要素を表示するようアレンジしたいです。
以前いただいた質問回答に3時間かけて自分で2行足して、
以下のコードを作りましたが、シートに現れる結果はGroup(n)の順番が逆に出てきます。そのため、Group(n)内の要素の順番を逆からに入れ替えた配列を用意し以下をすれば良いと思ったのですが、どうすれば良いでしょうか?
もしくは他に良い方法はありますか?
A1セルの内容:
①あいう/Aかきく
②さしすせ/Aかきく、けこ
③なにぬね/Aかきく、たちつてと、はひふへ
④たち/Aかきく、あかさたな
⑤はひふへほ/Aかきく、さしすせそ
⑥やゆよ/Aなにぬ
⑦わを/Aあかさたなはまやらわ
↑それぞれの行で改行してあります。
vba
1 2Sub Macro1() 3 Dim Origin As String: Origin = ActiveSheet.Range("A1").Value 4 Dim c As Range: Set c = ActiveSheet.Range("B1") '入力開始セル 5Range("B1").Activate '今回は無いですが、今後このActiveCell部分に変数を入れてループさせる予定なので省かずにご回答お願いします。 6 Dim Group 7 For Each Group In Split(Origin, vbLf) 8 Dim Items: Items = Split(Mid(Group, 2), "/A") 9 10 Dim w: w = Split(Items(1), "、") 11 c.Value = Items(0): Set c = c.Offset(1) 12 Range("B" & ActiveCell.Row +UBound(Items) + UBound(w))).Offset(1,0).EntireRow.Insert 13 Set c = Range("B1") 14 Dim l As Long: l = UBound(w) + 1 15 c.Resize(l).Value = WorksheetFunction.Transpose(w) 16 Set c = c.Offset(l) 17 Next 18End Sub 19
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/02/07 06:51
2020/02/07 08:12
2020/02/10 11:18