注文を自動でフィルタかけたい | |
---|---|
[195069] 注文を自動でフィルタかけたい- ■親トピック/記事引用/メール受信=OFF■ □投稿者/ ららら -(2022/07/27(11:51)) □U R L/ こんにちは。 注文をまとめて各社に発注するVBAを作成中です。 個別に指名して、エクセル別ファイルで保存までは出来ましたが 注文を会社別にフィルタをかけて、業者ごとに作成するという工程が うまく動かず、教えていただきたいです。 1・個別の注文書→コピペ(作業シート) 2・作業シートの業者名をコピペ(参照シート) 3・業者名を重複しないリスト作成(F2〜)※ここまで作成できました。 4・作業シートを参照シートのリストを元にフィルタをかける。 上記の4のコードは下記のとおりです。 Sub リストからオートフィルタの練習() Sheets("参照").Select Dim cnt As Long '参照列の最後 Dim ken As Range 'N列の検索値 Dim 参照範囲 As Range '参照シート Dim i As Long With Sheets("参照") cnt = .Cells(Rows.Count, 6).End(xlUp).Row Set 参照範囲 = .Range(Cells(2, 6), Cells(cnt, 6)) Set ken = .Range(cnt, "F") End With Dim Lmax As Long Lmax = Sheets("作業").Cells(Rows.Count, "D").End(xlUp).Row For i = 2 To cnt Sheets("作業").Range(Cells(18, 1), Cells(Lmax, 36)) _ .AutoFilter Field:=14, Criteria1:=ken 'Sheets("作業").Range(Cells(18, 1), Cells(cnt, 36)).Copy Next End Sub いまのところ動かすと、エラー1004 アプリケーション定義または オブジェクトの定義エラーです。と表示されます。 長いこと躓いておりまして、何が悪いのかも分からない状態です。 どなたかお分かりになる方、どこが悪いのか教えていただければと思います。 この記事にはVBAのコードが含まれています。 緑の太文字→注釈 茶色の太文字→条件分岐 赤の太文字→ループ 青の太文字→その他 ++++++++++++++++++++ OS ⇒OTHER Version⇒OTHER ++++++++++++++++++++ |
[195070] Re[1]: 注文を自動でフィルタかけたい- ■記事引用/メール受信=OFF■ □投稿者/ 半平太 -(2022/07/27(12:51)) □U R L/ > Set ken = .Range(cnt, "F") そう言うRangeプロパティの指定方法はありません。 Set ken = .Cells(cnt, "F") とする。 ところで、こう言うのはミスの元ですよ。Cellsの頭にドットがない。 ↓ ↓ Set 参照範囲 = .Range(Cells(2, 6), Cells(cnt, 6)) 最初に、 Sheets("参照").Select としているので大事に至らないですけどね。 でも、こっちは怪しいなぁ。。どのシートのCellsなんだか分からないですけど大丈夫なんですかね。 ↓ ↓ > Sheets("作業").Range(Cells(18, 1), Cells(Lmax, 36)) _ > .AutoFilter Field:=14, Criteria1:=ken |
[195071] Re[2]: 注文を自動でフィルタかけたい- ■記事引用/メール受信=OFF■ □投稿者/ ららら -(2022/07/28(15:18)) □U R L/ 半平太さま、アドバイスありがとうございます。 rangeの部分を直したところ、ご指摘の部分で引っ掛かりました。 初心者なものですから、なかなか意味を理解できませんでしたが シート名も変数に指定したうえで書き足すようにしたらうまくいきました。 なんとか部品の統合作業に入れました。 まだまだ修正部分がありますが、頑張りたいと思います。 ありがとうございました。 |
[195072] Re[3]: 注文を自動でフィルタかけたい- ■ / 記事引用/メール受信=OFF■ □投稿者/ ららら -(2022/07/28(15:20)) □U R L/ すみません、解決しました。 |
このトピックに書きこむ |
---|