| 
    
     |  | 違法なマルチサイトを使ってしまい、ビリーさんから、以下のコードの助言を頂き ました。
 LNの変数定義が、37種にも及び、検索定義の列が1つから5つとまちまちなので、 Case1; LN1 = (Cells(RR&, 11).Value = 1) And _ (Cells(RR&, 13).Value
 = "A") And _ (Cells(RR&, 14).Value = 1) And _ (Cells(RR&, 18).Value = 1)の
 様にやるのは、難しいでしょうか?複数のセルの値を1つに纏めてしまうと、解り辛く成ってしまいます。余りKStepが大きいと、メモリを食ってしまうかもしれませんが、Case毎に、処理を書いた方が処理内容が解り易いです。御願い致します。
 りんさんにとって、それしか方法が無いのなら、この方法を試してみます。
 Private Sub TEST1()
 
 DIM i AS LONG
 DIM 最終行 AS LONG
 DIM ws(1 TO 2) AS WORKSHEET
 
 Dim LN1 As Boolean
 Dim LN2 As Boolean
 Dim LN15 As Boolean
 Dim LN16 As Boolean
 
 Set ws(2) = WORKBOOKS("XXX.xls").Worksheets("Sheet8&9")
 Set ws(1) = THISWORKBOOK.Worksheets("Sheet4")
 ws(1).Cells.Clear 'Sheet4を初期化
 
 FOR i=8 TO 最終行
 ' LN1,LN2,LN15,LN16の設定
 ' Sheet4への処理(要分岐)
 NEXT i
 
 END SUb
 
 ThisWorkBookのコード;
 Private Sub Workbook_Open()
 Dim objWSH As Object
 Dim strPS  As String
 Dim Ans
 Dim i As Long
 
 Set objWSH = CreateObject("WScript.Shell")
 strPS = objWSH.SpecialFolders("\C:") & "\Excelファイル全集"
 
 With Application.FileSearch
 .LookIn = strPS
 .Filename = "*.xls"
 If .Execute(SortBy:=msoSortByFileName) > 0 Then
 For i = 1 To .FoundFiles.Count
 Worksheets(1).ListBox1.AddItem Dir(.FoundFiles(i))
 Next
 End If
 End With
 End Sub
 
 |  |