【发布时间】:2019-01-11 14:06:51
【问题描述】:
我正在尝试将不同工作表(工作表 2 到工作表 5)中的值添加到我的主工作表(工作表 1)中。在工作表 1 中,我希望单元格包含指向不同工作表的正确公式(如果可能)。
通常是这样的:
='Sheet2'!D5+'Sheet3'!D165
我所有的床单都有不同的产品,但有些床单包含相同的产品。所以我想搜索所有这些并将它们添加到我的主表(表 1)中。
Sub UpdateMainSheet()
' Kode for å Oppdatere Plukkeliste Alle Artikler Summert
Dim AktivtArk As String
Dim AktivtArkNavn As String
Dim K As Integer
Dim Count As Integer
'Line of code to delete old data in Main Sheet:
Worksheets("Sheet1").Range("A2:H10000").Clear
AktivtArkOverskrift = "List of Articles from Sheet 2 to 5"
'Creates Headline in Main Sheet:
eRow = Sheet1.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
Worksheets("Sheet1").Cells(eRow, 1) = AktivtArkOverskrift
Worksheets("Sheet1").Cells(eRow, 1).Font.Bold = True
'Script to check and gather data from the other sheets (Sheet 2, 3, 4 and 5):
For K = 2 To 5
'For loop to check each line in sheet "K"
For I = 2 To 1000
'If function to check if the cell I in column F is empty, if so it_jumps to next row and do the same check:
If Worksheets(K).Cells(I, 6) > 0 Then
Count = 0
'For loop to check if I already have a row in the Main Sheet with the article I'm checking:
For L = 2 To 1000
'If function to check if the articles have the same article number:
If Worksheets(K).Cells(I, 1) = Worksheets("Sheet1").Cells(L, 1) Then
'Line of code that are supposed to ADD the values that is currently in the Main Sheet, togheter with the value in Sheet K:
Worksheets("Sheet1").Cells(I, 4).Formula = Worksheets("Sheet1").Cells(I, 4) + Worksheets(K).Cells(L, 4)
End If
Next L
End If
Next I
Next K
End Sub
所以我需要在我的代码中修复这部分(位于 For 循环内最远的地方):
Worksheets("Sheet1").Cells(I, 4).Formula = Worksheets("Sheet1").Cells(I, 4) + Worksheets(K).Cells(L, 4)
让它在想要的单元格中创建一个公式,看起来像这样:
='Sheet2'!D5+'Sheet3'!D165
它还必须能够添加另一个单元格,因为循环正在运行可能包含相同产品的多个工作表(工作表 2 到 5)。 IE。对于每个产品,我只希望在我的主表中有一行。
【问题讨论】:
-
您研究过数据透视表吗?您可能不需要任何代码
-
嗨,扎克,是的,我已经调查过了。案例是我希望能够通过使用两个不同的按钮以两种方式排列产品。第一种方式是每张纸排列(我有一个工作代码),这让我只能看到每张纸上要求的产品(要挑选的产品数量)。第二种方法是我在此处发布的问题,我想将所有产品汇总在一起,看看我需要选择每种产品的数量。还对其进行编码使其对其他用户“牢不可破”。
-
那么你需要用循环构建一个公式字符串吗?
-
嗨 SJR,我还不太擅长 Excel VBA,所以不确定你的意思。但是,是的,我需要一个循环,它允许我扫描 4 张(2 到 5)并在每张(2 到 5)中找到产品并将它们总结在第 1 表中。我认为我的循环很好,但是我正在努力使用将值添加到工作表 1 中的公式,将新值添加到已经添加到工作表 1 的值中(将值添加到从循环中的早期工作表中添加值的相同单元格)。我的循环首先通过表 2,然后是表 3,依此类推。希望这更清楚,并没有变得太混乱。
-
不确定我是否遵循。如果向单元格添加值,则不能使用公式,因为它将引用自身。您当前的代码到底是什么没有做您希望它做的事情?
标签: excel vba formula add worksheet