どなたか助けていただけないでしょうか。私はエクセルに関しては初心者です。データセンター管理とハードウェア追跡で使用するスプレッドシートを作成する必要があるので、マスター ワークシートとラックごとのシートを作成しました。マスター シートのセルが背景色 (灰色) で塗りつぶされると、対応するワークシートの色が変更されるようにする必要があります。これがどれほど意味があるかはわかりません :)
マスター B2:B25 をワークシート 1 の B4:B27 に、マスター D2:D25 をワークシート 2 の B4:B27 に、マスター 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右側にコードを貼り付けます
セルの色を変更する場合は、セルをダブルクリックすると、次のように変更されます。
シート2 列B -> シート3 列B
シート2 列D -> シート4 列B
シート2 列F -> シート5 列B
常に元の行の 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
注意:このコードを変更しないと、セルが変更されるたびに、すべてのシートのすべての色の変更が他のすべてのシートに反映されますが、これはやりすぎです。必要に応じて、ソリューションをさらに効率的にすることができます。