グラフィックを複数のワークシートに貼り付ける(Microsoft Excel)
マーティには一連のワークブックがあり、50ものワークシートが含まれているものもあります。彼は、各ワークシートの同じ場所にグラフィック(会社のロゴ)を貼り付ける必要があります。彼はすべてのワークシートを選択してから貼り付けを行うことでこれを実行しようとしましたが、通常の編集のように複数のワークシートで機能するようには見えませんでした。
マーティは正しいです。複数のワークシートを選択しているときにグラフィックを貼り付けようとしても機能しません。試してみると、Excelは貼り付けができないと言っていますが、ワークシートを1つだけ選択すると、非常にうまく貼り付けることができます。
代わりに、マクロを使用して貼り付けを行う必要があります。グラフィックがすでにクリップボードにコピーされていると仮定すると、次のようなマクロを実行できます。
Sub InsertLogo1() Dim shtSheet As Worksheet Application.ScreenUpdating = False For Each shtSheet In Worksheets With shtSheet .Activate .Range("A1").Select .Paste End With Next Set shtSheet = Nothing Application.ScreenUpdating = True End Sub
マクロはワークブックの各ワークシートをステップスルーし、グラフィックをセルA1に貼り付けます。別のセルを使用する場合は、セルを選択する行を変更するだけです。
事前にグラフィックをクリップボードにコピーしたくない場合は、次のようなマクロを使用して、画像ファイルからグラフィックを直接挿入できます。
Sub InsertLogo2() Dim strPath As String Dim shtSheet As Worksheet strPath = "C:\GraphicFolder\PictureName.bmp" For Each shtSheet In Worksheets shtSheet.Activate Range("A1").Select ActiveSheet.Pictures.Insert (strPath) Next shtSheet Set shtSheet = Nothing End Sub
もちろん、グラフィックファイルへのパスとファイルがワークシートに貼り付けられるセルを変更することもできます。必要に応じて、標準のWindowsダイアログボックスを表示する次のバリエーションを使用して、挿入するグラフィックを選択できます。
Sub InsertLogo3() Dim strPath As Variant Dim shtSheet As Worksheet Dim sTemp As String ' Set the file type sTemp = "Graphics Files (.jpg; .bmp; .gif; .tif; *.png)" sTemp = sTemp & ", .jpg; .bmp; .gif; .tif; *.png" strPath = Application.GetOpenFilename(sTemp) If strPath <> False Then For Each shtSheet In Worksheets shtSheet.Activate Range("A1").Select ActiveSheet.Pictures.Insert (strPath) Next shtSheet Set shtSheet = Nothing End If End Sub
注:
このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。
_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。
このヒント(9205)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice 365のExcelに適用されます。Excelの古いメニューインターフェイス用のこのヒントのバージョンは、次の場所にあります。