如何在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 语句用于确定变量类型。我们有两种变量类型:photoNameAndPath和photo。首先是变量,然后是图像。

从那里,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来关闭宏。现在您可以将变量photoNameAndPath和photo更改为您喜欢的任何其他名称。只需记住在整个代码中保持名称一致即可。

以上是如何使用VBA将图像插入Excel的单元格中。希望这篇文章对您有用。

留下評論

在 Nginx 後端執行 Collabora 程式碼並啟用 TLS 終止

在 Nginx 後端執行 Collabora 程式碼並啟用 TLS 終止

讓 Nginx 負責 Collabora CODE 容器的 HTTPS,正確轉送編輯 WebSocket,並在不暴露連接埠 9980 的情況下驗證公共端點。

在 Collabora 移動鍵盤開啟時保持文字可見

在 Collabora 移動鍵盤開啟時保持文字可見

解決 Collabora Online 中行動瀏覽器鍵盤遮擋文字的問題,提供快速解決方法,並對瀏覽器、嵌入式 WebView 和宿主頁面進行單獨檢查。

在 ONLYOFFICE 中停止不必要的列印和下載

在 ONLYOFFICE 中停止不必要的列印和下載

為 ONLYOFFICE 連結、會議室成員或 Docs API 會話設定列印和下載限制,然後從收件者帳戶驗證限制。

為 ONLYOFFICE 工作區安排可靠的備份

為 ONLYOFFICE 工作區安排可靠的備份

在 ONLYOFFICE Workspace 中設定備份目標、計畫、郵件覆蓋範圍和保留期限,然後驗證檔案是否已準備好進行復原。

使用官方的 Compose 檔案部署 ONLYOFFICE Docs 企業版

使用官方的 Compose 檔案部署 ONLYOFFICE Docs 企業版

啟動企業版 Docker Compose 堆疊,持久化其授權和數據,安全地配置 JWT,並確認編輯器已準備好整合。

使用可重複使用的 ONLYOFFICE 巨集清理電子表格文本

使用可重複使用的 ONLYOFFICE 巨集清理電子表格文本

使用 ONLYOFFICE JavaScript 巨集,透過安全的審閱工作流程,從指定的電子表格區域中刪除非列印字元並移除多餘的空格。

變更 ONLYOFFICE 工作區的預設儲存位置

變更 ONLYOFFICE 工作區的預設儲存位置

將入口網站資料從預設磁碟移至支援的雲端儲存供應商,或透過變更主機磁碟區來對應安全地遷移 Docker 資料。

從 Linux 系統中徹底移除 ONLYOFFICE 文件伺服器

從 Linux 系統中徹底移除 ONLYOFFICE 文件伺服器

確定文件伺服器使用的是 Linux 軟體包還是 Docker,僅刪除其元件,並檢查剩餘數據,避免誤刪共享服務。

透過找到瓶頸來消除 ONLYOFFICE 協同編輯延遲

透過找到瓶頸來消除 ONLYOFFICE 協同編輯延遲

追蹤協作編輯速度慢的原因,例如 Docker 資源壓力、代理連接或文件加載,然後選擇與您的測量結果相符的修復方案。

在 Docker 中為 ONLYOFFICE Docs 配置 HTTPS

在 Docker 中為 ONLYOFFICE Docs 配置 HTTPS

選擇 TLS 終止位置,安全地掛載受信任的憑證和私鑰,並驗證對 Docker 化的 ONLYOFFICE Docs 伺服器的 HTTPS 存取。