質問: excelで条件を満たす時コピー挿入したい excel2002ですが、以下のようなデータがあるとします。 a b 1 山田太郎 100 2 山田花子 100,200,300 3 鈴木一郎 300 b列にカンマ区切りで入力しているデータがある場合、 a b 1 山田太郎 100 2 山田花子 100 3 山田花子 200 4 山田花子 300 5 鈴木一郎 300 上記のように、b列のカンマ区切り分を振り分けたレコードを新たに 挿入したいのです。 尚参考までに、a列は名前などでデータ内容は多様になり、b列は ある程度決まった選択肢(20~30通り)になります。 一般の関数では無理なような気がするのですが、vbaなどでは可能でしょうか? もし可能であれば、マクロなども組んだことがないものですから、 やさしくご教授いただければ幸いです。 よろしくお願いいたします。
回答: コードを書いてみました。 行の挿入をしないで、別シートに書いてみました。応用してみて下さい。 sheet1の内容をsheet2に書き換えています。 標準モジュールに貼り付けます。 sub bunri() dim rw1 as long 'sheet1の行カウンタ dim rw2 as long 'sheet2の行カウンタ dim sep as integer 'カンマの個数 dim bnum as string 'b列の文字 dim bpot as integer 'カンマの位置 dim ws1 as worksheet, ws2 as worksheet set ws1 = worksheets("sheet1") set ws2 = worksheets("sheet2") for rw1 = 1 to range("a65536").end(xlup).row bnum = ws1.range("b" & rw1) & "," for sep = 1 to len(bnum) - len(application.substitute(bnum, ",", "")) bpot = instr(bnum, ",") rw2 = rw2 + 1 ws2.range("a" & rw2) = ws1.range("a" & rw1) ws2.range("b" & rw2) = left(bnum, bpot - 1) bnum = mid(bnum, bpot + 1) next next end sub