我想知道是否有人可以提供幫助,在卓越方面我是一個菜鳥。我必須創建一個電子表格,用於數據中心管理和硬體跟踪,所以我所做的是創建一個主工作表和每個機架的工作表,我需要實現的是當主工作表上的單元格填充有背景顏色(灰色)然後變更對應工作表上的顏色。不知道這有多大意義:)
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
當你稱自己為菜鳥時,我會讓你沿著正確的軌道開始...
以原始樣式複製儲存格:Ctrl+c
選擇目標儲存格並貼上特殊內容:Alt+ e+ s+v
選擇格式選項以僅貼上複製儲存格的格式:t+Enter
答案3
如果您選擇所有工作表(按住 Shift 鍵並點擊每個標籤),那麼您可以同時設定所有工作表的格式 - 您對來源工作表所做的任何變更都會反映在其餘工作表中。但只有當您只是談論工作表的初始設定時,這才真正有意義。
如果您希望在工作簿的生命週期內更定期且自動地進行此類更改,則只能使用 VBA 來解決(Visual Basic 應用程式,它作為標準嵌入到大多數現代版本的 Office 中)。在這種情況下,您需要針對 Worksheet_Change() 事件添加一些程式碼:
記住目前選擇的背景顏色
Dim myColor As Integer myColor = Selection.Interior.ColorIndex
選擇要套用顏色的新區域;這應該選擇所有可見工作表上的目前範圍。
Worksheets.Select
將原始背景顏色應用到新選擇中
Selection.Interior.ColorIndex = myColor
僅重新選擇您最初使用的選項卡。 (我假設您的主選項卡是第一張)
Worksheets(1).Select
注意:無需任何修改,只要更改任何單元格,此程式碼就會鏡像從所有工作表到所有其他工作表的所有顏色更改,這是矯枉過正的。該解決方案可以根據需要變得更加高效。