_ExcelTips_の他の号では、カメラツールを使用してワークシートのさまざまな部分の動的な写真をキャプチャする方法について学習します。 VBA内から同じ種類の機能を使用する方法を疑問に思っているかもしれません。

この問題に関するドキュメントはそれほど明確ではありませんが、次のマクロは一般的なプロセスを示しています。

Sub DoCamera()

Dim MyPrompt As String     Dim MyTitle As String     Dim UserRange As Range     Dim OutputRange As Range

Application.ScreenUpdating = True

'Prompt user for range to capture     MyPrompt = "Select the range you would like to capture."

MyTitle = "User Input Required"

On Error Resume Next     Set UserRange = Application.InputBox(Prompt:=MyPrompt, _         Title:=MyTitle, Default:=ActiveCell.Address, Type:=8)

If UserRange Is Nothing Then End     On Error GoTo 0

'Copy range to Clipboard as picture     UserRange.CopyPicture

'Prompt user for range to paste to     MyPrompt = "Select the range on which you would like to paste."

MyTitle = "User Input Required"

On Error Resume Next     Set OutputRange = Application.InputBox(Prompt:=MyPrompt, _         Title:=MyTitle, Default:=ActiveCell.Address, Type:=8)

If OutputRange Is Nothing Then End     On Error GoTo 0

'Paste picture to output range     OutputRange.PasteSpecial     Selection.Formula = UserRange.Address End Sub

このマクロは、コピーする範囲を指定するように求め、次にそれを画像としてクリップボードにコピーし、貼り付ける場所を尋ねます。

貼り付けると、マクロの最後の行は、カメラツールを使用して手動で行うのと同じように、「写真」を動的にするための鍵となります。 PasteSpecialコマンドは実際に画像を貼り付け、貼り付けられた画像は選択されたままになります。選択範囲(画像)のFormulaプロパティを設定すると、グラフィックが動的になります。

注:

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

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

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