こんばんわ。
取り急ぎ教えて下さい。

Excel2007を使用しています。
シートに得意先商品名一覧があります。
得意先毎にシートわけし、シート名には得意先名としたいのですが
得意先数が多い為VBAを使用したいと考えています。
ご教授願えないでしょうか?
得意先数は都度変わります。

例>シート名:得意先一覧
A列(得意先名)     B列(商品名)  C列(単価)
得意先A         商品A      10円
得意先A         商品B      10円
得意先A         商品C      10円
得意先A         商品D      10円
得意先B         商品A      10円
得意先B         商品B      10円
得意先B         商品C      10円
得意先B         商品D      10円
得意先B         商品E      10円
得意先B         商品F      10円
得意先C         商品A      10円
得意先C         商品B      10円



シート名:得意先A
得意先A         商品A      10円
得意先A         商品B      10円
得意先A         商品C      10円
得意先A         商品D      10円

シート名:得意先B
得意先B         商品A      10円
得意先B         商品B      10円
得意先B         商品C      10円
得意先B         商品D      10円
得意先B         商品E      10円
得意先B         商品F      10円

シート名:得意先C
得意先C         商品A      10円
得意先C         商品B      10円


よろしくお願いします。

このQ&Aに関連する最新のQ&A

A 回答 (1件)

これも丸投げ質問だ。

したいことだけ言っているが、何か自分でやってみたのかな。人に頼りすぎだろう。
ーー
色んな方法があるが、シートを作るVBAは
フィルタオプションの設定で重複するレコードは無視するで、重複の無い会社名一覧が出る。
G列に出したとする。
例データ
A列(得意先名)B列(商品名)C列(単価)
得意先A商品A10円
得意先A商品B10円
得意先A商品C10円
得意先A商品D10円
得意先B商品A10円
得意先B商品B10円
得意先B商品C10円
得意先B商品D10円
得意先B商品E10円
得意先B商品F11円
得意先C商品F12円
得意先D商品F13円
ーーー
G列
A列(得意先名)
得意先A
得意先B
得意先C
得意先D
ーーーー
Sub test01()
d = Worksheets("Sheet1").Range("G65536").End(xlUp).Row
MsgBox d
For i = 2 To d
Sheets.Add.Activate
ActiveSheet.Name = Worksheets("Sheet1").Cells(i, "G")
Next i
End Sub
ーー
この先は
フィルタオプションの設定をマクロの記録でも採って考えること。
明細も要るなら、100社ぐらいなら、質問してるより、手作業でコピペした方が、結局速いはず。
    • good
    • 0

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


人気Q&Aランキング