|
違法なマルチサイトを使ってしまい、ビリーさんから、以下のコードの助言を頂き
ました。
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
|
|