質問: excel vbaでピポットテーブルを作成していたらエラーがでて解決できません。 こんばんは。 excelvbaで重複していないデータのみをsheet2に転記させたいのですが、どうしたらよいのでしょうか。 a行に重複するデータが入っいます。 a列の重複しないデータとb列に入っている名前を転記してマスタを作りたいと考えています。 a b 12345 りんごa 12346 みかんb 12347 いちごc 12346 みかんb 宜しくお願い致します。
回答: 重複するデータ「12346 みかんb」を一つ記載するのか全く記載しないのか迷いましたが、一つ記載することで作ってみました。 (1)以下(マクロ)をモジュールに貼り付けます。 (2)データがあるシート名を「sheet1」((1)部分),データを転記するシート名を「sheet2」((2)部分)として作成していますので、必ず2つのシート名と(1)、(2)部分を完全に一致させてください。 (3)あとはマクロを実行してください。(ツール→マクロ→マクロ→「まとめ」を選択→実行) sub まとめ() dim i as long, k as long, r as range, s as worksheet, s1 as worksheet set s = sheets("sheet1") '(1) set s1 = sheets("sheet2") '(2) s.select: s1.cells.clear k = 1 for i = 1 to s.range("a" & rows.count).end(xlup).row if not s.cells(i, 1).value = "" then set r = s.columns(1).find(what:=s.cells(i, 1).value, after:=s.cells(i, 1), lookat:=1, searchdirection:=xlprevious) if r.row >= i then s1.range("a" & k).value = s.cells(i, 1).value s1.range("b" & k).value = s.cells(i, 2).value end if end if k = s1.range("a" & rows.count).end(xlup).row + 1 next s1.select: msgbox "全てまとめ終わりました。" end sub