您的位置首页百科问答

Excel怎样查找图片

Excel怎样查找图片

的有关信息介绍如下:

Excel怎样查找图片

修法布施得聪明智慧,多分享让生活更美好。上次分享了《Excel数据库的查询几种应用方法》,Excel数据对应查找可以用内置函数VLOOKUP处理,但是数据对应图片怎样查找?下面通过实例分享处理方法。

2Excel数据库的查询几种应用方法

不同编号对不同图片,怎样通过图片查找对应图片?

下面方法步骤是处理不同表。

首先打开上例文件,如下图。

鼠标移到当前工作表标签栏“Sheet2”表,右键,弹出快捷菜单,如下图。

在快捷菜单找到【查看代码】并单击,打开VBA(宏)编辑界面,如下图。

在左边代码框中复制下面代码到该框中,如下图。

Private Sub Worksheet_Change(ByVal Target As Range)

'2020-6-8 21:53:59

Dim r As Long, cp As Shape, i as long,k As Long

If Target.Column = 1 Then

r = Sheets("sheet3").Range("A" & Rows.Count).End(xlUp).Row

k = 0

For i = 2 To r

If Target.Value = Sheets("sheet3").Range("A" & i).Value Then

For Each cp In ActiveSheet.Shapes

If cp.TopLeftCell.Address = Target.Offset(0, 1).Address Then

cp.Delete

Exit For

End If

Next cp

Rows(Target.Offset(0, 1).Row).RowHeight = Sheets("sheet3").Range("B" & i).RowHeight

Columns(Target.Offset(0, 1).Column).ColumnWidth = Sheets("sheet3").Range("B" & i).ColumnWidth

Sheets("sheet3").Range("B" & i).Copy Target.Offset(0, 1)

k = 1

End If

Next

If k = 0 Then

For Each cp In ActiveSheet.Shapes

If cp.TopLeftCell.Address = Target.Offset(0, 1).Address Then

cp.Delete

Exit For

End If

Next cp

End If

End If

End Sub

以上步骤操作过程如下动画图。

回到工作表窗口,在A2如下单位元格输入编号时,B列显示对应图片,运行结果情况如下。

首先打开上例文件,如下图。

然后按下快捷键ALT+F11打开VBA(宏)编辑界面,然后点菜单栏【插入】下拉中列表中点【模块(M)】如图。

然后插入了一个模块1,在代码框中复制如下代码:

Sub 编号批量生成图片()

'2020-6-8 22:13:12

Dim r As Long, cp As Shape, i As Long, k As Long, Target As Range

For Each Target In Range(Range("a2"), Range("A" & Rows.Count).End(xlUp))

r = Sheets("sheet3").Range("A" & Rows.Count).End(xlUp).Row

k = 0

For i = 2 To r

If Target.Value = Sheets("sheet3").Range("A" & i).Value Then

For Each cp In ActiveSheet.Shapes

If cp.TopLeftCell.Address = Target.Offset(0, 1).Address Then

cp.Delete

Exit For

End If

Next cp

Rows(Target.Offset(0, 1).Row).RowHeight = Sheets("sheet3").Range("B" & i).RowHeight

Columns(Target.Offset(0, 1).Column).ColumnWidth = Sheets("sheet3").Range("B" & i).ColumnWidth

Sheets("sheet3").Range("B" & i).Copy Target.Offset(0, 1)

k = 1

End If

Next

If k = 0 Then

For Each cp In ActiveSheet.Shapes

If cp.TopLeftCell.Address = Target.Offset(0, 1).Address Then

cp.Delete

Exit For

End If

Next cp

End If

Next Target

End Sub

以上操作动态过程如下:

回到工作表窗口,然后运行【编号批量生成图片】宏(菜单栏中点【视图】中下列表中【宏】列表【查看宏(V)】打开宏对方框,选该宏名,执行),输出对应图片。

问题中还提到同一个工作表怎样处理?把有Sheets("sheet3")对去掉,并把对应编号列A改为对应列D可以。

如果觉得这篇经验帮到了您,请点击下方的 “投票点赞" 或者“收藏”支持我!还有疑问的话可以点击下方的 “我有疑问”,谢谢啦!