ExcelでVBAを使用してセルに画像を挿入する方法

Excel スプレッドシートに画像を簡単に挿入し、マクロ コードを使用して編集できます。Excel で VBA を使用してセルに画像を挿入する方法は次のとおりです。

ExcelでVBAを使用してセルに画像を挿入する方法

Visual Basic for Applications (VBA と略称) は、Microsoft Office プログラムに統合された Visual Basic 6 の形式です。VBA を使用すると、コーディングを通じて Excel などの Office アプリケーションのタスクを自動化できます。場合によっては、VBA を使用して Excel に新しい機能を追加することもできます。

VBA を使用するにはコードを操作する必要がありますが、VBA が文字と数字でいっぱいであるという意味ではありません。Excel の VBA を使用すると、セルまたはセル範囲に画像を挿入できるマクロを作成できます。VBA を使用して Excel のセルに画像を挿入する場合に知っておくべきことは次のとおりです。

ExcelでVBAを使用してセルに画像を挿入する方法

VBA を使用して Excel のセルに画像を挿入するマクロを作成するには、Visual Basic の高度な知識は必要ありません。開発者ツールをオンにしてマクロを作成し、適切なコードを貼り付けるだけです。もちろん、VBA を使用せずに Excel に画像を挿入することもできます。ただし、この記事では VBA に焦点を当てます。

1. 開発者ツールをオンにする

Excel で VBA を使用するには、開発者ツールを有効にする必要があります。この操作により、デフォルトでは無効になっているリボンの [開発] タブが有効になります。

  1. Excelを開きます。
  2. [ファイル]メニューに移動します。
  3. 画面の下部にある「オプション」をクリックします。[Excel のオプション]ウィンドウが表示されます。
  4. Excel のオプションで、[リボンのカスタマイズ]タブに移動します。
  5. [メイン タブ]で、[開発者]をオンにします。

ExcelでVBAを使用してセルに画像を挿入する方法

これで、VBA アクセスを含む開発者ツールが有効になりました。Excel で VBA を使用するたびにこれを行う必要はありません。開発者ツールは、無効にするまで常に有効になります。

2. マクロを作成してコードを挿入する

  1. Excel で、[開発]タブに移動します。
  2. 「コード」セクションで「マクロ」を選択します。
  3. 新しいウィンドウで、[マクロ名]にマクロ名を入力します。この記事ではinsertPhotoMacroを使用します。
  4. 「作成」をクリックします。

ExcelでVBAを使用してセルに画像を挿入する方法

「作成」をクリックすると、VBA ウィンドウが開き、マクロのコードが表示されます。現在、コードはマクロを開始するSubとマクロを終了するEnd Subの 2 行で構成されます。

ExcelでVBAを使用してセルに画像を挿入する方法

このマクロに小さなコードを追加します。2 行の間に次のコード行を追加します。

Dim photoNameAndPath As Variant
Dim photo As Picture
photoNameAndPath = Application.GetOpenFilename(Title:="Select Photo to Insert")
If photoNameAndPath = False Then Exit Sub
Set photo = ActiveSheet.Pictures.Insert(photoNameAndPath)
With photo
.Left = ActiveSheet.Range("A1").Left
.Top = ActiveSheet.Range("A1").Top
.Width = ActiveSheet.Range("A1").Width
.Height = ActiveSheet.Range("A1").Height
.Placement = 1
End With

最終的なコードは次のようになります。

ExcelでVBAを使用してセルに画像を挿入する方法

このプロセスの保存について心配する必要はありません。VBA で行った変更はすぐに保存されます。

次に、コードが実際に動作する様子を見てみましょう。

  1. VBA ウィンドウを閉じます。
  2. Excel の[開発]タブに移動します。
  3. 「コード」セクションから「マクロ」を選択します。
  4. 作成したマクロを強調表示します。
  5. 「実行」をクリックします。

挿入する画像ファイルの場所を尋ねるメッセージが開きます。写真を選択し、「開く」をクリックします。セル A1 に画像が表示されます。

Excel ではセル A1 に収まるように画像が縮小されることに注意してください。これを変更し、コードを変更して、他のセル (セル範囲も含む) に画像を挿入することができます。次のセクションでは、コードを分割してパラメータについて説明します。

3. コードを分割する

VBA コードが思い通りに動作するには、VBA コードを理解する必要があります。これを行うとき、任意のセルに任意のサイズで画像を挿入するようにコードを変更できます。

Sub insertPhotoMacro()
Dim photoNameAndPath As Variant
Dim photo As Picture
photoNameAndPath = Application.GetOpenFilename(Title:="Select Photo to Insert")
If photoNameAndPath = False Then Exit Sub
Set photo = ActiveSheet.Pictures.Insert(photoNameAndPath)
With photo
.Left = ActiveSheet.Range("A1").Left
.Top = ActiveSheet.Range("A1").Top
.Width = ActiveSheet.Range("A1").Width
.Height = ActiveSheet.Range("A1").Height
.Placement = 1
End With
End Sub

コードが開始されると、Dim ステートメントを使用して変数の型が決定されます。photoNameAndPathphoto という2 つの変数タイプがあります。最初に変数、次に画像です。

そこから、photoNameAndPath変数が実行され、写真ファイルの場所を取得するアプリケーションが開きます。これはApplication.GetOpenFileNameによって行われます。Titleパラメータはオプションです。その中の内容がウィンドウ名として表示されます。

If photoNameAndPath = False then Exit Subを使用すると、無効なアドレスまたは空のアドレスが指定された場合、プロセスは終了します。ただし、適切なファイルが提供されている場合、Set photo = ActiveSheet.Pictures.Insert(photoNameAndPath) は、画像を元の定義どおりに変数として設定する必要があることを示します。アクティブなワークシートに挿入されます。

最後に、With photo とその後の 5 行を使用して写真の場所を決定します。.Left.Top は開始位置を指し、.Width.Heightは終了位置を指します。別のセルまたは範囲に画像を挿入する場合は、これらの行を変更する必要があります。

.Placement は、セルに合わせて画像のサイズを変更するか、フリーフォームで挿入する必要があることを示します。1に設定すると、セルに応じてサイズが変更されます。

最後に、上記のコードはEnd Withを使用してからEnd Sub を使用してマクロを閉じます。これで、変数photoNameAndPathphoto を任意の名前に変更できるようになりました。コード全体で名前の一貫性を保つことを忘れないでください。

上記は、VBA を使用して Excel のセルに画像を挿入する方法です。この記事がお役に立てば幸いです。

Sign up and earn $1000 a day ⋙

Leave a Comment

Google One AI Premium を1ヶ月間無料で登録する方法

Google One AI Premium を1ヶ月間無料で登録する方法

Google One AI Premium では、ユーザーが登録して Gemini Advanced アシスタントなどの多くのアップグレード機能を体験できる 1 か月間の無料トライアルを提供しています。

Safariで最近の検索をオフにする方法

Safariで最近の検索をオフにする方法

iOS 18.4 以降、Apple はユーザーが Safari で最近の検索を表示するかどうかを決めることができるようになりました。

Snipping Toolでスクリーン録画ビデオを編集する方法

Snipping Toolでスクリーン録画ビデオを編集する方法

Windows 11 では、Snipping Tool に Clipchamp ビデオ エディターが統合されているため、ユーザーは他のアプリケーションを使用せずに、好きなようにビデオを編集できます。

PowerPointでファネルチャートを作成する方法

PowerPointでファネルチャートを作成する方法

ファネル チャートは通常、さまざまなステージがどのようにして小さな出力に統合されるかを表します。 PowerPoint でファネル チャートを作成するためのガイドを紹介します。

IPhoneでクリップボードをクリアする方法

IPhoneでクリップボードをクリアする方法

iPhone のクリップボード ツールは画像やデータを保存します。ただし、あまり多くの情報を保存するとプライバシーに影響する可能性があります。その場合は、クリップボードをクリアするためのショートカットを設定できます。

お子様用のApple IDアカウントを作成する手順

お子様用のApple IDアカウントを作成する手順

子供が携帯電話を使用する際の安全を確保するために、保護者は iPhone のファミリー共有機能を通じて子供用の Apple ID アカウントを作成できます。

Instagramのメッセージを取り消す方法

Instagramのメッセージを取り消す方法

Instagram のダイレクトメッセージでチャットしているときに、誤って間違ったメッセージを送信してしまうことがありますが、相手が内容を読む前に Instagram メッセージを取り消して、誰にも知られないようにすることができます。

アプリを使わずにSafariで広告を非表示にする方法

アプリを使わずにSafariで広告を非表示にする方法

iOS 18 ベータ 5 にアップデートすると、Web コンテンツの閲覧時に気が散ることを避けるために Safari で広告を非表示にする機能が使用できるようになります。

Geminiチャット共有ガイド

Geminiチャット共有ガイド

Google Gemini では、ChatGPT でのチャットの共有と同様に、公開リンクを介してユーザーが他のユーザーと会話を共有できるようになりました。

Microsoft Rewardsポイントを獲得してオファーを受け取る手順

Microsoft Rewardsポイントを獲得してオファーを受け取る手順

Microsoft Rewards プログラムでは、ユーザーが獲得したポイントを同社が提携するブランドのオファーと引き換えることができます。 Microsoft Rewardsポイントを獲得する方法

AyaシーズンS1 2023のプレイ方法と装備方法の説明

AyaシーズンS1 2023のプレイ方法と装備方法の説明

アヤは、かなり厄介なプレイスタイルを持つサポートチャンピオンであり、ランクマッチでは禁止されることがよくあります。ただし、アヤをランクマッチに持ち込む機会がある場合、この記事はアヤを効果的にプレイするための公式を理解するのに役立ちます。

メトロホーチミンで地下鉄路線を検索する手順

メトロホーチミンで地下鉄路線を検索する手順

地下鉄1号線の情報を簡単に見つけられるように、ユーザーはMetro HCMCアプリケーションをインストールして、行くべき駅や各路線のチケット価格に関する情報を入手する必要があります。

IPhoneユーザー向けCydiaユーザーガイド

IPhoneユーザー向けCydiaユーザーガイド

Cydia は、ジェイルブレイクされた iOS デバイスのユーザーには非常によく知られるようになりました。 iOSデバイスをユーザーの好みに合わせてより柔軟に利用できるよう、システムに深く介入するアプリケーション(無料・有料)をユーザーに提供するサードパーティアプリケーションストアです。

IPhoneでファイルを添付したメールを送信する手順

IPhoneでファイルを添付したメールを送信する手順

Gmail アプリと同様に、Appe メール アプリにも、メール送信プロセスでユーザーをサポートするために、ファイルを添付したメールを送信するオプションがあります。

PowerPointで画像の背景を削除する方法

PowerPointで画像の背景を削除する方法

PowerPoint には、PowerPoint で写真の背景を削除するなど、ユーザーを支援する基本的な写真編集オプションもあります。画像の背景を削除すると、背景を明らかにすることなくスライドに画像を簡単に挿入できます。