Vba 如何将工作簿1中单元格的颜色反映到工作簿2中?
我有两本工作簿,其中工作簿1中有一个宏,根据项目的总体状态更新一个单元格的内部颜色 工作簿2是所有项目的摘要,我需要它反映工作簿1中该单元格的颜色 我对VBA还是相当陌生。。。我该怎么做呢 谢谢大家!Vba 如何将工作簿1中单元格的颜色反映到工作簿2中?,vba,excel,Vba,Excel,我有两本工作簿,其中工作簿1中有一个宏,根据项目的总体状态更新一个单元格的内部颜色 工作簿2是所有项目的摘要,我需要它反映工作簿1中该单元格的颜色 我对VBA还是相当陌生。。。我该怎么做呢 谢谢大家! Sub copyColorOfCell() Dim workbook1, workbook2 As Workbook Set workbook1 = Workbooks("workbookName1.xlsx") Set workbook2 = Workbooks("wo
Sub copyColorOfCell()
Dim workbook1, workbook2 As Workbook
Set workbook1 = Workbooks("workbookName1.xlsx")
Set workbook2 = Workbooks("workbookName2.xlsx")
Dim worksheet1, worksheet2 As Worksheet
Set worksheet1 = workbook1.Sheets("worksheetName")
Set worksheet2 = workbook2.Sheets("worksheetName")
Dim cell1, cell2 As Range
Set cell1 = worksheet1.Range("A1")
Set cell2 = worksheet2.Range("A1")
cell2.Interior.Color = cell1.Interior.Color
End Sub
替换工作簿和工作表名称(也可以使用索引)并指定所需的单元格。请注意,您已将
workbook1
和worksheet1
声明为Variant
。要将它们分别声明为工作簿
和工作表
,您需要使用将工作簿1设置为工作簿,将工作簿2设置为工作簿
和将工作表1设置为工作表,将工作表2设置为工作表
。您是对的,我忘记了这一点。请您澄清将它们作为变体的含义是什么?我对在不需要它们时使用变体的主要抱怨是,它有时会隐藏代码的问题,从而使调试变得困难。有点像没有显式的选项
——它允许发生您不期望的事情。以下面的语句为例:Dim v,r as Range
Set r=Range(“A1”)
Set v=Range(“A1”)
Debug.Print r.Address
Debug.Print v.Address
-这一切都很好-但将Set v=Range(“A1”)
更改为v=Range(“A1”)
并且它不会崩溃,直到您尝试访问Debug.Print
行中的Address
属性。