Excel 宏将多个单元格上的vlookups与图像单击关联
我正在尝试开发一个宏,在点击一张图片后,将在给定行中的一组单元格上进行v查找 例如:Excel 宏将多个单元格上的vlookups与图像单击关联,excel,vba,Excel,Vba,我正在尝试开发一个宏,在点击一张图片后,将在给定行中的一组单元格上进行v查找 例如: 如果我点击第10行的一个单元格,然后点击一只贵宾犬的图片(位于表格中的某个位置,而不是第10行),那么第10行将在一个单元格中填充“动物”,在下一个单元格中填充“狗”,在下一个单元格中填充“贵宾犬” 然后我点击第11行的一个单元格,然后我点击一个棕榈树的图片(位于表格的某个地方),第11行将在一个单元格、下一个单元格“树”和下一个单元格“棕榈树”中填充“植物” 有什么想法吗? 谢谢 在工作表上放置一些图像,
- 如果我点击第10行的一个单元格,然后点击一只贵宾犬的图片(位于表格中的某个位置,而不是第10行),那么第10行将在一个单元格中填充“动物”,在下一个单元格中填充“狗”,在下一个单元格中填充“贵宾犬”
- 然后我点击第11行的一个单元格,然后我点击一个棕榈树的图片(位于表格的某个地方),第11行将在一个单元格、下一个单元格“树”和下一个单元格“棕榈树”中填充“植物”
谢谢 在工作表上放置一些图像,在每个图像的单击事件中,使用图像中包含的项目名称调用LookupSelection子项:
Private Sub imgPalm_Click()
LookupSelection ("Palm Tree")
End Sub
Private Sub LookupSelection(name As String)
Dim lookupRange As Range
Set lookupRange = Sheet1.Range("I3:K5") 'Range for vlookup
Dim selectedRow As Integer
selectedRow = Selection.Row
Dim type1, type2 As String '
type1 = Application.WorksheetFunction.VLookup(name, lookupRange, 2)
type2 = Application.WorksheetFunction.VLookup(name, lookupRange, 3)
Sheet1.Cells(selectedRow, 1) = name
Sheet1.Cells(selectedRow, 2) = type1
Sheet1.Cells(selectedRow, 3) = type2
End Sub
你需要一个查找表(我用的是I3:K5)。成品应如下所示:
祝你好运 在工作表上放置一些图像,在每个图像的单击事件中,使用图像中包含的项目名称调用LookupSelection子项:
Private Sub imgPalm_Click()
LookupSelection ("Palm Tree")
End Sub
Private Sub LookupSelection(name As String)
Dim lookupRange As Range
Set lookupRange = Sheet1.Range("I3:K5") 'Range for vlookup
Dim selectedRow As Integer
selectedRow = Selection.Row
Dim type1, type2 As String '
type1 = Application.WorksheetFunction.VLookup(name, lookupRange, 2)
type2 = Application.WorksheetFunction.VLookup(name, lookupRange, 3)
Sheet1.Cells(selectedRow, 1) = name
Sheet1.Cells(selectedRow, 2) = type1
Sheet1.Cells(selectedRow, 3) = type2
End Sub
你需要一个查找表(我用的是I3:K5)。成品应如下所示:
祝你好运 在常规模块中创建一个宏来处理图像单击,并使用右键单击>>分配宏(或在代码中)将其分配给所有图像的“onaction”属性
正如Chris所建议的,使用查找表来填充所选行中的值:在这种情况下,它基于工作表上图像的名称。在常规模块中创建一个宏来处理图像单击,并使用右键单击>>分配宏(或在代码中)将其分配给所有图像的“onaction”属性
正如Chris所建议的,使用查找表填充所选行中的值:在这种情况下,尽管它基于工作表上图像的名称。Ahh“Application.Caller”,很好。这太棒了!我已经准备好了。为了增加灵活性,我使用了一个namerange来代替A2:D20Ahh“Application.Caller”,很好。这太棒了!我已经准备好了。为了增加灵活性,我用namerange代替A2:D20我一定误解了你的问题,因为我在想图像识别,AI和博士论文。图像识别将由点击图像的人完成。我一定误解了你的问题,因为我在想图像识别,AI,和博士论文。图像识别将由点击图像的人完成。