Bethは、外部セルのカラーフォーマットを現在のブックのセルにコピーする方法を尋ねました。残念ながら、Excelのリンク機能を使用してこれを行う本質的な方法はありません。ただし、マクロを使用して、あるブックから別のブックに書式をコピーすることはできます。

例として、次のマクロコードについて考えてみます。

Dim lMyColor As Long Workbooks.Open Filename:="C:\mypath\myworkbook.xlsm"

lMyColor = Range("A1").Interior.Color Windows("TargetBook.xlsm").Activate Range("E8").Interior.Color = lMyColor

このコードは、ブック(myworkbook.xlsm)を開き、セルA1から塗りつぶしの色を取得します。次に、ターゲットワークブック(このコードが実行されていると想定される)に戻り、塗りつぶしの色をセルE8に詰め込みます。

このアプローチは、塗りつぶしの色を単一のセルから単一のセルにコピーする場合に最適です。代わりに、セルの範囲をコピーしたり、塗りつぶしの色だけでなくより多くの書式をコピーしたりする場合は、次のアプローチを使用した方がよい場合があります。

Workbooks.Open Filename:= "C:\mypath\myworkbook.xlsm"

Range("A1:B6").Copy Windows("TargetBook.xlsm").Activate Range("E8").PasteSpecial Paste:=xlPasteFormats, _   Operation:=xlNone, SkipBlanks:=False, _   Transpose:=False

この場合も、このコードは外部ワークブックを開きます。次に、セルの範囲(A1:B6)に対して.Copyメソッドを使用します。ターゲットワークブックに切り替えた後、それらのセルのフォーマットがE8以降のセルに貼り付けられます。

このようなコードを使用する場合は、対象のブックのAuto_Openマクロに配置できます。もちろん、適切なパスとワークブック名​​、および目的のソースとターゲットの範囲を参照するようにコードを変更する必要があります。

注:

このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(11169)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice 365のExcelに適用されます。Excelの古いメニューインターフェイス用のこのヒントのバージョンは、次の場所にあります。