更改宏上的合并源

时间:2016-06-26 00:38:37

标签: excel vba excel-vba macros

我正在尝试创建一个宏,一切都很好,但我很难使用宏合并工作表。它工作,但问题在于代码,因为,我在另一张表中合并了一张表,但在同一工作簿(文件)中。但在宏上,它使用我的计算机上的文件地址,所以如果我更改文件名或位置,它将无法工作。拜托,我真的试过了。 所以,我需要在“Analise de Estoque”表上整合“Controle Estoque Fixo”表,两者都在同一个文件中,所以我需要删除文件源。

ActiveSheet.Select
ActiveSheet.Name = "Analise de Estoque"
Range("A1").Select
Selection.Consolidate Sources:= _
 "'C:\Users\rapha\Desktop\Cerealista\25062016\[Controle de Estoque v2.xlsm]Controle Estoque Fixo'!C1:C4", Function:=xlSum, _
TopRow:=True, LeftColumn:=True, CreateLinks:=False

1 个答案:

答案 0 :(得分:1)

如果工作簿处于打开状态,则不必指定路径。

ActiveSheet.Range("A1").Consolidate Sources:= _
                      "'[Controle de Estoque v2.xlsm]Controle Estoque Fixo'!R1C3:R4C3", Function:=xlSum, _
                      TopRow:=True, LeftColumn:=True, CreateLinks:=False

如果所有工作表都在ActiveWorkbook中,则不必指定工作簿。

ActiveSheet.Range("A1").Consolidate Sources:= _
                      "'Controle Estoque Fixo'!C1:C4", Function:=xlSum, _
                      TopRow:=True, LeftColumn:=True, CreateLinks:=False

您可以使用Range()获取正确的语法。地址(,, xlR1C1,True)

  

工作表(" Controle Estoque Fixo")。范​​围(" C1:C4")。地址(,, xlR1C1,True)

     

' [Book1.xlsm] Controle Estoque Fixo'!R1C3:R4C3