約 150 個の製品の計算を作成する必要があり、各製品は約 50 ~ 60 個のサブ製品で構成されています。副産物が外部ソースから生産されるか購入されるかに応じて、価格は異なる方法で計算されます。基本的に、製品に含まれる各サブ製品の重量と価格をコピーして貼り付け、ソースが何であるかを判断する必要があります。
同じフォルダー (すべての異なるワークブック) で以前に作成された計算を Excel で確認し、ワークブックの 1 つにセルが見つかった場合は、現在開いているワークブックに重量、価格、ソースをコピーして貼り付けたいと思います。セルを比較する方法が完全にわかりません。一致が見つかった場合は、それを適切な場所にコピーします。ここでは .Find と .FindNext が役立つと思いますが、それらの使用方法は完全にはわかりません。
以下は、私のデータがどのように構造化されているかの例です。
そして、これは私がこれまでに見つけたものです:
Sub RunCodeOnAllXLSFiles()
Dim lCount As Long
Dim wbResults As Workbook
Dim wbCodeBook As Workbook
Application.ScreenUpdating = False
Application.DisplayAlerts = False
Application.EnableEvents = False
On Error Resume Next
Set wbCodeBook = ThisWorkbook
With Application.FileSearch
.NewSearch
'Change path to suit
.LookIn = "C:\ahjualune\stuff"
.FileType = msoFileTypeExcelWorkbooks
'Optional filter with wildcard
.Filename = "*NAV*.xls*"
If .Execute > 0 Then 'Workbooks in folder
For lCount = 1 To .FoundFiles.Count 'Loop through all
'Open Workbook x and Set a Workbook variable to it
Set wbResults = Workbooks.Open(Filename:=.FoundFiles(lCount), UpdateLinks:=0)
'DO YOUR CODE HERE
With ActiveSheet
For Each c In .Range("B2:B90").Cells
' problematic place If c.Value = Then
End If
Next c
End With
wbResults.Close SaveChanges:=False
Next lCount
End If
End With
On Error GoTo 0
Application.ScreenUpdating = True
Application.DisplayAlerts = True
Application.EnableEvents = True
End Sub