如何在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 ⋙

如何在 Google Chrome、Safari 和 Edge 中停用彈出視窗阻止程式

如何在 Google Chrome、Safari 和 Edge 中停用彈出視窗阻止程式

所有平台上的所有流行網頁瀏覽器都帶有內建的彈出視窗阻止程式。他們通常足夠聰明,可以阻止不需要的彈出窗口

如何解決 EA 應用程式不斷讓您退出的問題

如何解決 EA 應用程式不斷讓您退出的問題

Windows 上的 Electronic Arts (EA) 應用程式是您造訪喜愛的遊戲的主要目的地。因此,當

如何找到網站首次發布或啟動的時間

如何找到網站首次發布或啟動的時間

每個人在尋找網站發布或發布日期時都會遇到一些問題。有些人必須獲得學校論文的發表日期,而

如何在 SoundCloud 中變更播放清單的圖片

如何在 SoundCloud 中變更播放清單的圖片

無論您是上傳音樂還是策劃完美的鍛鍊播放列表,播放清單的封面藝術都是 SoundCloud 的首要任務

如何找到《我的世界》中的最後一個攻擊者

如何找到《我的世界》中的最後一個攻擊者

如果您發現自己在《我的世界》突襲的最後,正在尋找最後一個要消滅的突襲者,那麼您並不孤單。很多玩家都曾有過這樣的經歷

如何在 Google Chrome、Firefox、Microsoft Edge 和 Safari 中啟用 JavaScript

如何在 Google Chrome、Firefox、Microsoft Edge 和 Safari 中啟用 JavaScript

JavaScript 是互動式網路背後最強大的動力之一。這種程式語言可以讓網頁即時回應您的操作。

如何修復海信電視錯誤代碼 014.50

如何修復海信電視錯誤代碼 014.50

海信電視被評為市場上最好的 ROKU 電視之一。但是,您有時可能會在嘗試時在電視上看到錯誤代碼 014.50 通知

如何控制 Amazon Fire Stick 的音量

如何控制 Amazon Fire Stick 的音量

在 2024 年嘗試管理遙控器就像嘗試處理帳單一樣。值得慶幸的是,如果您使用 Fire Stick 來播放您最喜歡的節目並且

如何從 iPhone 中刪除所有照片(而不永遠丟失它們)

如何從 iPhone 中刪除所有照片(而不永遠丟失它們)

由於蘋果手機的內部儲存空間有限,無法擴展,因此您可能很快就會耗盡空間。在某些時候,你可能會

如何更新海信電視上的應用程式

如何更新海信電視上的應用程式

在智慧電視技術方面,海信是一個越來越受歡迎的品牌。他們生產經濟實惠的 LED 和 ULED(超 LED)裝置,

Roblox:如何獲得無頭顱

Roblox:如何獲得無頭顱

在 Robolox 購買或交易獨特的無頭頭的完整指南,該頭以其獨特的裝飾效果而聞名。

如何在 Telegram 中查看某人的電話號碼

如何在 Telegram 中查看某人的電話號碼

在 Telegram 帳戶註冊過程中,您必須將電話號碼新增至您的個人詳細資料。如果您想確認別人的

如何在 Echo Show 上顯示亞馬遜照片中的圖片

如何在 Echo Show 上顯示亞馬遜照片中的圖片

在本指南中了解如何使用 Amazon Photos 將您的 Amazon Echo Show 轉變為數位相框。

如何建立線上訂單

如何建立線上訂單

線上訂單可以幫助企業輕鬆地從客戶那裡獲得訂單。透過訂單,客戶可以訂購產品,製作

DoorDash:如何獲得退款

DoorDash:如何獲得退款

想知道如何獲得 DoorDash 訂單的退款嗎?查看所有獲得退款的方式、退款時間表等。

如何關閉 Google 地圖中的標籤

如何關閉 Google 地圖中的標籤

標籤是 Google 地圖不可或缺的功能,可以幫助我們輕鬆找到地點。然而,一張充滿了別針和旗幟的地圖無論你往哪裡看都可以

Canva:如何在影片中加入音樂

Canva:如何在影片中加入音樂

帶有配樂的影片更加有趣。無論是添加氣氛音樂來吸引觀眾,還是在影片上添加音效,Canva

Snapchat:如何更改號碼

Snapchat:如何更改號碼

無論出於何種原因,您剛剛更改了電話號碼。這是一個重大決定,特別是如果您已經擁有該號碼一段時間了。但這改變將

如何在 HubSpot 中群發電子郵件

如何在 HubSpot 中群發電子郵件

大量電子郵件行銷可以讓您同時向大量收件者發送一封電子郵件行銷活動,為您節省大量時間。它是

海信電視:如何解決系統記憶體不足問題

海信電視:如何解決系統記憶體不足問題

您是否厭倦了處理海信電視系統記憶體不足的問題?以下是解決此問題的一些可行解決方案。