我需要为大约150种产品创建计算,每种产品包含大约50-60个子产品。根据子产品是从外部来源生产还是购买,价格的计算方式不同。基本上我需要复制粘贴产品中包含的每个子产品的重量和价格,并确定源是什么。
我想excel在同一个文件夹(所有不同的工作簿)中查看以前进行的计算,如果在其中一个工作簿中找到一个单元格,那么将权重,价格和来源复制粘贴到当前打开的工作簿。我完全迷失了如何比较细胞以及是否找到匹配,然后将其复制到正确的位置。我相信.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
答案 0 :(得分:0)
如果您正在寻找这个我有一个想法。
将所有主要产品类型放在一个工作簿的sheet1中。
从第二张纸起,将每个产品子产品放在一张纸上。使用Excel工作表公式来乘以和添加价格。
记录宏以将子产品的价格复制到sheet1。
答案 1 :(得分:0)
将源存储在变量
中计算当前行-add到变量的价格
当源更改时,将总计放在右侧的列中
可能会使用类似
的内容range("A2").select
dim sSource as string
dim dPrice as decimal
Dim dWeight as decimal
dim dtotal as decimal
Do Until ActiveCell = ""
sSource = ActiveCell.Offset(0,8).value
dprice = Activecell.offset(0,7).value
Activecell.Offset(1,0).Select
etc.....
when your source changes write out to a column to the right...or something like that
Loop
抱歉,没时间为你写出完整的代码......但是试着让你走上正轨......