| 
    
     |  | 業務で「発注管理台帳」というものを毎月作っています。 今までは、手作業で作成していましたが、このたび、VBAで自動化しようという話になりまして、
 VBA初心者の私が、コードを組むことになってしまいました。
 
 この「発注管理台帳」ですが、社内DBに保存されているデータ(約10000件)を
 Excelに落としたものを元データとしています。
 この元データを台帳に加工する前に、以下の条件に当てはまるデータを削除しなければなりません。
 
 1.列B「注文処理状況」において、「処理済」と入力されている行を削除。
 2.列F「納期」(セルの書式:yyyy/mm/dd)が検収月以外で、列H「注文数量」が「1」の行を削除。
 たとえば、「検収月」が2004年9月なら、「納期」が「2004/10/01」で「注文数量」が「1」の行は削除。
 「納期」が「2004/10/01」で「注文数量」が「2」の行は削除しない。
 
 なお、「検収月」は9月、10月・・というように1ヶ月単位で変わります。
 Excelに落としてきた元データの数も、毎月変わります。
 
 条件1.については、以下のような記述でできました。
 
 Sub 条件1に当てはまるデータ削除()
 
 Dim i As Long
 For i = Range("B65536").End(xlUp).Row To 2 Step -1
 If Cells(i, 2).Text = "処理済" Then
 Rows(i).Delete
 End If
 Next i
 
 End Sub
 
 しかし、条件2.のところでつまづいてしまいました。
 「検収月」は毎月変わりますので「検収月を入力してください」という入力フォームを表示してユーザーに入力を促そうと考えていますが、
 条件設定になると、完全にお手上げです。
 
 どなたか、お知恵をいただけませんでしょうか?
 よろしくお願いいたします。
 
 |  |