1

こんばんは、

ここ数か月、VBA を使用して多数のレポートを自動化する方法を学んでいます。このサイトは非常に役に立ちました。私は多くのことを行う方法を理解することができましたが、この問題の解決策はまだわかりません. このステップを除いて、この特定のレポートを完全に自動化した比較的複雑なマクロがあります。これを理解できれば、レポートを完全に自動化できます。

システムは、スクラブしてレポート テンプレートに追加する必要がある月の新しいデータを含む .xls 形式の生データ ファイルを生成します。列 X には商品の説明が含まれていますが、データの行の多くには受け入れられない商品の説明が含まれています。これらの行を別のワークシートにコピーし、他の人に送信して正しい説明を見つける必要があります。メイン レポート テンプレートで、許容可能な商品説明のリストを作成しました。生データ ファイル フィルタを使用して、許容リストにない列 X の値を持つ行がすべて表示されるようにしたいと考えています。許容可能な説明が既に含まれている行は非表示になります。

フィルターの操作、マクロの記録、コードの操作を試みましたが、うまくいきませんでした。アクションを記録すると、次のようになります。配列の先頭にあるアイテムのいくつかは、受け入れ可能な説明 (意味のあるもの) の例です。最後のランダムなものは、表示したいアイテムのタイプの例です。これらは調査して手動で修正する必要があります。

Sub hiderows()
    Windows("stop level data.xls").Activate
    Rows("1:1").Select
    Selection.AutoFilter

    ActiveSheet.Range("$A$1:$AB$1290").AutoFilter Field:=24, Criteria1:=Array( _
    "Cotton", "Covers", "Displays", "Fabric", "Fasteners", "Fiber", "Fiber Rolls", _
    "Fibers", "Foam", "Foam Rolls", "Frames", "Labels", "Latex", "Lumber", "Machines",_
    "Mattresses", "Pads", "Plastic", "PO #Avi", "PO #P0005557/SO #3203687", _
    "PO #P0005615/SO #3203693", "PO #P0007297/SO#3203828", "Rolls", "Serta", "Springs"_
    , "T000216", "T000247", "T000269", "T000270", "T000278", "T000286", "T000294", _
    "T000296", "Tape", "Thread", "Tick", "Ticking", "Transfer from", "Wood", _
    "="), Operator:=xlFilterValues
End Sub

最初のステップとして、さまざまな方法で = の代わりに <> をプラグインして行を表示するのではなく非表示にする上記のコードを取得しようとしましたが、うまくいきませんでした。私が本当にやりたいことは、特定の行の値が次の値と等しくないWindows("Stop level data.xls")場合にシートをフィルタリングすることですcolumn XWindows("master template.xlsm").Sheets("lookups").Range("AE2:AE100")

お時間をいただきありがとうございます。私はこれと戦って数え切れないほどの時間を費やしてきましたが、実際には解決策に近づいていません.

4

0 に答える 0