如何在Excel中使用VBA将图片插入单元格

您可以轻松地将图像插入 Excel 电子表格并使用宏代码对其进行编辑。以下是如何在 Excel 中使用 VBA 将图片插入单元格

如何在Excel中使用VBA将图片插入单元格

Visual Basic for Applications 缩写为 VBA,是集成到 Microsoft Office 程序中的 Visual Basic 6 的一种形式。通过编码,VBA 允许您自动执行 Office 应用程序(包括 Excel)中的任务。在某些情况下,您甚至可以使用 VBA 向 Excel 添加新功能。

尽管您需要编写代码才能使用 VBA,但这并不意味着 VBA 充满了字母和数字。使用 Excel 中的 VBA,您可以创建一个宏,允许您将图片插入到一个单元格或单元格区域中。以下是有关使用 VBA 将图片插入 Excel 单元格时需要了解的信息。

如何在Excel中使用VBA将图片插入单元格

要使用 VBA 创建将图片插入 Excel 单元格的宏,您实际上不需要任何高级 Visual Basic 知识。您需要做的就是打开开发人员工具,创建宏,然后粘贴适当的代码。当然,您也可以不使用VBA将图像插入Excel。然而,在本文中,我们将重点关注 VBA。

1.打开开发者工具

要在 Excel 中使用 VBA,您需要启用 Developer 工具。此操作将启用功能区中的“开发人员”选项卡,该选项卡默认情况下处于禁用状态。

  1. 打开Excel
  2. 转到“文件”菜单。
  3. 单击屏幕底部的选项。将出现“Excel 选项”窗口。
  4. 在 Excel 选项中,转到自定义功能区选项卡。
  5. 主选项卡中,选中“开发人员”

如何在Excel中使用VBA将图片插入单元格

现在,开发人员工具(包括 VBA 访问)已启用。您无需每次想要在 Excel 中使用 VBA 时都执行此操作。开发人员工具将始终处于启用状态,直到您禁用它们为止。

2. 创建宏并插入代码

  1. 在 Excel 中,转到“开发人员”选项卡。
  2. 在“代码”部分中,选择“宏”
  3. 在新窗口中,在宏名称中输入您的宏名称。本文将使用insertPhotoMacro
  4. 单击创建

如何在Excel中使用VBA将图片插入单元格

单击“创建”后,VBA 窗口将打开并显示宏的代码。目前,该代码将由 2 行组成:用于启动宏的Sub和用于结束宏的 End Sub 。

如何在Excel中使用VBA将图片插入单元格

向该宏添加一些代码。在两行之间添加以下代码行:

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 代码按照您想要的方式工作,您需要理解它。执行此操作时,您可以更改代码以将图像插入任何尺寸的任何单元格中。

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。首先是变量,然后是图像。

从那里,photoNameAndPath变量运行,它将打开一个应用程序来获取照片文件的位置。这是通过Application.GetOpenFileName完成的。标题参数是可选的。其中的内容显示为窗口名称。

使用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 提供 1 個月的免費試用,用戶註冊即可體驗 Gemini Advanced 助理等多項升級功能。

如何關閉 Safari 上的最近搜索

如何關閉 Safari 上的最近搜索

從 iOS 18.4 開始,蘋果允許用戶決定是否在 Safari 中顯示最近的搜尋。

使用截圖工具編輯螢幕錄製影片的說明

使用截圖工具編輯螢幕錄製影片的說明

Windows 11 在截圖工具中整合了 Clipchamp 影片編輯器,以便用戶可以隨意編輯視頻,而無需使用其他應用程式。

如何在 PowerPoint 中建立漏斗圖

如何在 PowerPoint 中建立漏斗圖

漏斗圖通常描述不同階段如何合併為較小的輸出。這是在 PowerPoint 中建立漏斗圖的指南。

如何清除 iPhone 上的剪貼簿

如何清除 iPhone 上的剪貼簿

iPhone 上的剪貼簿工具將儲存影像或資料。但是,當您保存太多資訊時,可能會影響您的隱私。如果是這樣,您可以設定快捷方式來清除剪貼簿。

為兒童建立 Apple ID 帳戶的說明

為兒童建立 Apple ID 帳戶的說明

為了確保孩子使用手機的安全,家長可以透過iPhone上的家人共享功能為孩子建立Apple ID帳號。

如何撤銷 Instagram 訊息

如何撤銷 Instagram 訊息

在 Instagram 上透過直接訊息聊天時,有時我們會不小心發送錯誤的訊息,我們可以在對方閱讀內容之前撤回 Instagram 訊息,這樣就沒有人知道了。

如何在沒有應用程式的情況下隱藏 Safari 上的廣告

如何在沒有應用程式的情況下隱藏 Safari 上的廣告

當您更新至 iOS 18 beta 5 時,您將能夠使用在 Safari 中隱藏廣告的功能,以避免在閱讀網頁內容時分心。

雙子座聊天分享指南

雙子座聊天分享指南

Google Gemini 現在允許用戶透過類似於在 ChatGPT 上分享聊天的公開連結與他人分享他們的對話。

賺取 Microsoft Rewards 點數以取得優惠的說明

賺取 Microsoft Rewards 點數以取得優惠的說明

Microsoft Rewards 計畫將利用用戶賺取的點數兌換該公司合作品牌的優惠。這是賺取 Microsoft Rewards 積分的一種方法

關於如何玩和裝備 Aya 2023 年 S1 賽季的說明

關於如何玩和裝備 Aya 2023 年 S1 賽季的說明

阿雅是一名輔助型英雄,其遊戲風格相當令人討厭,並且經常在排名賽中被禁賽。但是,如果您有機會將 Aya 帶入排名比賽,本文將幫助您掌握有效使用 Aya 的公式。

使用 Metro HCMC 找出地鐵路線的說明

使用 Metro HCMC 找出地鐵路線的說明

為了更輕鬆地找到地鐵 1 號線的信息,用戶應安裝 Metro HCMC 應用程式以獲取有關他們需要去的車站和每條路線的票價的信息。

IPhone 用戶 Cydia 使用指南

IPhone 用戶 Cydia 使用指南

對於越獄 iOS 裝置用戶來說,Cydia 已經非常熟悉了。它是一個第三方應用程式商店,為用戶提供深度介入系統的應用程式(免費和付費),以便iOS設備能夠根據用戶的喜好更加靈活的使用。

在 iPhone 上發送帶有文件附件的電子郵件的說明

在 iPhone 上發送帶有文件附件的電子郵件的說明

與 Gmail 應用程式一樣,Appe Mail 應用程式也具有發送帶有文件附件的電子郵件的選項,以支援使用者的電子郵件發送流程。

如何在 PowerPoint 中刪除圖像背景

如何在 PowerPoint 中刪除圖像背景

PowerPoint 還具有基本的照片編輯選項來幫助用戶,例如在 PowerPoint 中刪除照片背景。當您刪除圖像背景時,您可以輕鬆地將圖像插入幻燈片而不會顯示背景。