首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >一旦表单1的同一单元格的颜色发生变化,如何更改表单2和3的相同单元格的颜色?

一旦表单1的同一单元格的颜色发生变化,如何更改表单2和3的相同单元格的颜色?
EN

Stack Overflow用户
提问于 2019-06-24 01:45:51
回答 1查看 0关注 0票数 0

我有3张excel 表单。一旦我更改了工作表1的单元格颜色,我想要更改工作表2和3的相同单元格颜色,而不是手动更改单元格颜色3次。

使用Excel VBA的解决方案代码将完成工作。但我对Excel VBA不太熟悉。

3张excel床单的图像

EN

回答 1

Stack Overflow用户

发布于 2019-06-24 10:56:08

这将为您完成,但请谨慎使用。使用此方法时,将删除撤消堆栈,并且每次更改单元格时都可能会降低工作簿的速度...

代码语言:javascript
复制
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事件 ”。

祝你好运,我希望有所帮助!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100007038

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档