我有3张excel 表单。一旦我更改了工作表1的单元格颜色,我想要更改工作表2和3的相同单元格颜色,而不是手动更改单元格颜色3次。
使用Excel VBA的解决方案代码将完成工作。但我对Excel VBA不太熟悉。
发布于 2019-06-24 10:56:08
这将为您完成,但请谨慎使用。使用此方法时,将删除撤消堆栈,并且每次更改单元格时都可能会降低工作簿的速度...
Private Sub Worksheet_Change(ByVal Target As Range)
Dim objSrcSheet As Worksheet, objSheet As Worksheet, objSrcRange As Range
Dim strActiveCell As String
Set objSrcSheet = Target.Worksheet
With objSrcSheet
Set objSrcRange = .Range("A1:" & .Cells(.Rows.Count, .Columns.Count).SpecialCells(xlCellTypeLastCell).Address)
End With
objSrcRange.Copy
Application.ScreenUpdating = False
For Each objSheet In ThisWorkbook.Worksheets
If objSheet.Name <> objSrcSheet.Name Then
objSheet.Activate
strActiveCell = ActiveCell.Address
objSheet.Range("A1:" & objSrcRange.Address).PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone
objSheet.Range(strActiveCell).Select
End If
Next
objSrcSheet.Activate
Application.ScreenUpdating = True
Application.CutCopyMode = False
End Sub
......没有真正的错误检查(如锁定的床单等),但我会留下任何一件事。
将其添加到要用作主工作表的工作表更改事件。
为了找到如何做到这一点,谷歌这......“ 如何在vba中更改Worksheet_Change事件 ”。
祝你好运,我希望有所帮助!
https://stackoverflow.com/questions/-100007038
复制相似问题