首页 > 解决方案 > 如何根据 ComboBox 文本插入图像?

问题描述

我试图编写用于在 excel 中插入和更改用户表单内的图像的 vba 代码,但我无法插入以及更改基于组合框的图像,要在组合框中插入值我已经添加如图所示的行源(水果列表)并插入我保存在特定文件夹中的图像,您可以在我的程序中找到该文件夹​​。

pl。任何人都可以在这个程序中纠正我或帮助我解决这个问题,以便我可以在用户表单的图像框中获取图像。

我试过下面的程序

Private Sub UserForm_Change()

Dim k As Long, kl As Long, wa As Worksheet
Dim fg As String


fg = "C:\Users\mehta\Desktop\Folder for ppt images\New folder\Apple.jpg"

If Right(fg, 1) <> "\" Then
fg = fg & "\"

End If

Set wa = Sheets("Sheet1")

kl = wa.Range("A" & Rows.Count).End(xlUp).Row
For k = 1 To kl
Me.ComboBox2.AddItem wa.Cells(k, "A").Value

Next k

End Sub

Private Sub ComboBox2_Change()

Dim k As Long, kl As Long, wa As Worksheet
Dim fg As String


fg = "C:\Users\mehta\Desktop\Folder for ppt images\New folder"
If Right(fg, 1) <> "\" Then
fg = fg & "\"

End If

Set wa = Sheets("Sheet1")

kl = wa.Range("A" & Rows.Count).End(xlUp).Row
For k = 1 To kl
If Val(Me.ComboBox2.Value) = wa.Cells(k, "A").Value Then
Me.Image1.Picture = LoadPicture(fg & ".JPG")

End If

Next k

End Sub

欢迎任何积极的回应。还有PL。找到我要演示的图像。

[带有组合框和图像框的用户表单][1]

[桌面文件夹包含文件夹中的图像][1]

标签: excelvba

解决方案


试试这两个

Private Sub ComboBox2_Change()
   Dim k As Long, kl As Long, wa As Worksheet, fg As String
      
   fg = "C:\Users\mehta\Desktop\Folder for ppt images\New folder\"
   Set wa = Sheets("Sheet1")
   kl = wa.Range("A" & Rows.Count).End(xlUp).Row
   For k = 1 To kl
      If Me.ComboBox2.Value = wa.Cells(k, "A").Value Then
         Me.Image1.Picture = LoadPicture(fg & ComboBox2.Value & ".JPG")
      End If
   Next k
   Me.Repaint
End Sub

Private Sub UserForm_Activate()
   Dim k As Long, kl As Long, wa As Worksheet
   
   Set wa = Sheets("Sheet1")
   kl = wa.Range("A" & Rows.Count).End(xlUp).Row
   For k = 1 To kl
      Me.ComboBox2.AddItem wa.Cells(k, "A").Value
   Next k
End Sub

您在解决 Pic 时缺少 ComboBox2.Value 您还有一个 Val() 函数,但没有帮助


推荐阅读