|
こんばんは。VBA初心者です。
詳しく教えていただけると助かります。
店舗別の発注書を自動作成したい。
Sheet1のセルA:Iの列には一定のフォーマット(全商品アイテム)があり、同一シート内のL:AGの列には店舗一覧とその店舗に対応した商品がO12:AG12以下の行に○、×、空白などの情報が入っています。
O9:AG9に記載している店舗コードを1店舗づつH6 に転記すると同時にオートフィルタ―で○だけを表示したら、最後に店舗コードに対応した店舗名がH7に記載されているので、その店舗名で保存。
これをAG列に記載の店舗コードまで19店舗分繰り返す。
For a = 14 To 32 Step 1
Sheets("Sheet1").Select
Range("H6").Value = Cells(9, a + 1)
Sheets("Sheet1").Range("$O$11:$AG$74").AutoFilter Field:=1, Criteria1:=○
・
・ (省略)
・
Application.Dialogs(xlDialogSaveAs).Show Arg1:=Range("H7").Value
Sheets("Sheet1").Range("$O$11:$AG$74").AutoFilter
Next a
ここからが質問です。
1.上記のように記述してみたところ、途中までは次々の店舗コードを呼んでくれるのですが、4〜5店舗過ぎたあたりから次の店舗コードを読み取れなくなりました。
何故?どこがおかしいのでしょうか?
2.オートフィルタ―を列が1つずれる毎に同列のオートフィルタ―をかけ直したい。
Sheets("Sheet1").Range("$O$11:$AG$74").AutoFilter Field:=1, Criteria1:=○
この記述のAutoFilter Field:=1←この部分は一回ずつField:=2、Field:=3 …
なんてナンセンスですよね?
もっと画期的な方法があればご教授願います。
以上宜しくお願いします。
|
|