將背景顏色從主工作表複製到工作表 - 而不是內容

將背景顏色從主工作表複製到工作表 - 而不是內容

我想知道是否有人可以提供幫助,在卓越方面我是一個菜鳥。我必須創建一個電子表格,用於數據中心管理和硬體跟踪,所以我所做的是創建一個主工作表和每個機架的工作表,我需要實現的是當主工作表上的單元格填充有背景顏色(灰色)然後變更對應工作表上的顏色。不知道這有多大意義:)

Master B2:B25 到工作表 1 B4:B27.. Master D2:D25 到工作表 2 B4:B27.. Master E2:E25 到工作表 3 B4:B27..等

我無法使用複製,因為它複製單元格的內容,而我不想要,僅複製背景顏色。

答案1

VBA 沒有顏色變化事件可以捕獲它以使其完全自動化。

我決定做到雙擊時。雙擊一個單元格,顏色將複製到另一個工作表中的相應單元格:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    Dim wkb As Workbook
    Set wkb = ThisWorkbook
    total_sheets = wkb.Worksheets.Count
    aff_row = Target.Row
    aff_column = Target.Column
    sheet_used = (aff_column / 2) + 2
    If aff_column > 1 Then
        If Int(sheet_used) = sheet_used Then
            If sheet_used <= total_sheets Then
                wkb.Sheets(sheet_used).Cells(aff_row + 2, 2).Interior.Color = Target.Interior.Color
            End If
        End If
    End If
End Sub

開啟巨集/VBA 雙擊左欄表2,將程式碼貼到右側

當你改變單元格的顏色時,請雙擊它,它會這樣改變:

Sheet2 ColumnB -> Sheet3 ColumnB

Sheet2 ColumnD -> Sheet4 ColumnB

Sheet2 ColumnF -> Sheet5 ColumnB

始終位於原始行下方 2 行。

答案2

當你稱自己為菜鳥時,我會讓你沿著正確的軌道開始...

  1. 以原始樣式複製儲存格:Ctrl+c

  2. 選擇目標儲存格並貼上特殊內容:Alt+ e+ s+v

  3. 選擇格式選項以僅貼上複製儲存格的格式:t+Enter

答案3

如果您選擇所有工作表(按住 Shift 鍵並點擊每個標籤),那麼您可以同時設定所有工作表的格式 - 您對來源工作表所做的任何變更都會反映在其餘工作表中。但只有當您只是談論工作表的初始設定時,這才真正有意義。

如果您希望在工作簿的生命週期內更定期且自動地進行此類更改,則只能使用 VBA 來解決(Visual Basic 應用程式,它作為標準嵌入到大多數現代版本的 Office 中)。在這種情況下,您需要針對 Worksheet_Change() 事件添加一些程式碼:

  1. 記住目前選擇的背景顏色

    Dim myColor As Integer myColor = Selection.Interior.ColorIndex

  2. 選擇要套用顏色的新區域;這應該選擇所有可見工作表上的目前範圍。

    Worksheets.Select

  3. 將原始背景顏色應用到新選擇中

    Selection.Interior.ColorIndex = myColor

  4. 僅重新選擇您最初使用的選項卡。 (我假設您的主選項卡是第一張)

    Worksheets(1).Select

注意:無需任何修改,只要更改任何單元格,此程式碼就會鏡像從所有工作表到所有其他工作表的所有顏色更改,這是矯枉過正的。該解決方案可以根據需要變得更加高效。

相關內容