假如sheet1中列有各类检查井,sheet2中,有各类检查井的型号,直径。如果我人工劳动的话,我必须查着sheet2,在sheet1中填写一次各类检查井的直径。我想要做一个宏,来实现这个功能。
我草拟了这样的代码
Sub 匹配()
Dim r As Integer
Dim i As Integer
Do While r < 100
r = 1
Do While i < 100
i = 1
If Sheets1.Cells(r, 1) Like Sheets2.Cells(i, 1) Then
Sheets1.Cells(r, 2) = Sheets2.Cells(i, 2)
i = i + 1
End If
Loop
r = r + 1
Loop
End Sub
但是运行出错了,显示错误424,说明是要求对象。求高手帮忙改错。
关于excel宏匹配单元格的问题。
答案:3 悬赏:70
解决时间 2021-03-08 10:46
- 提问者网友:依靠
- 2021-03-07 15:45
最佳答案
- 二级知识专家网友:一只傻青衣
- 2021-03-07 17:00
这个问题不需要宏啊,直接用vlookup函数九可解决了
在表1要写直径的单元:
=vlookup(A2,表2!A:B,2,0)
下拉即可。
用你的宏,要改写为
Sub 匹配()
Dim r As Integer
Dim i As Integer
r = 1
Do While Sheets(1).Cells(r, 1)<>""
i = 1
Do While Sheets(1).Cells(r, 2)<>""
If Sheets(1).Cells(r, 1)=Sheets(2).Cells(i, 1) Then
Sheets(1).Cells(r, 2) = Sheets(2).Cells(i, 2)
End If
i = i + 1
Loop
r = r + 1
Loop
End Sub
在表1要写直径的单元:
=vlookup(A2,表2!A:B,2,0)
下拉即可。
用你的宏,要改写为
Sub 匹配()
Dim r As Integer
Dim i As Integer
r = 1
Do While Sheets(1).Cells(r, 1)<>""
i = 1
Do While Sheets(1).Cells(r, 2)<>""
If Sheets(1).Cells(r, 1)=Sheets(2).Cells(i, 1) Then
Sheets(1).Cells(r, 2) = Sheets(2).Cells(i, 2)
End If
i = i + 1
Loop
r = r + 1
Loop
End Sub
全部回答
- 1楼网友:风格单纯
- 2021-03-07 18:31
宏不太懂,用函数可以。
- 2楼网友:余生继续浪
- 2021-03-07 17:06
第一个问题,楼上已经回答了。
第二个问题:
单元格自定义为;
0%;[红色]-0%;
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯