EXCEL中VBA代码的错误

这段代码的意思是想实现将表1中1个下拉列表中的值进行判断,根据查询单元格的值,将该条数据的后2位复制到表3和表4中.可是问题在最后1个"黄7",其他的值都是按照代码传递到... 这段代码的意思是想实现将表1中1个下拉列表中的值进行判断,根据查询单元格的值,将该条数据的后2位复制到表3和表4中.
可是问题在最后1个"黄7",其他的值都是按照代码传递到对应的表中的列,可是
"黄7"值却没传递过去,而程序运行正常,选"黄7"复制时一切正常,可是在对应的表里却没有数据,这是为什么? 感觉很奇怪,是我代码错误?还是是设置错误? 希望高手帮忙
Sheets("sheet1").Select
If Cells(6, "E") <> "" Then
Dim x%

If Cells(6, "D") = "特1" Then
Sheets("sheet1").Select
Range("E6,H6").Select
Selection.Copy
Sheets("sheet4").Select
x = Sheets("Sheet4").Cells(65536, 16).End(xlUp).Row
If Cells(x, 16) <> "" Then
x = x + 1
End If
Cells(x, 16).Select
ActiveSheet.Paste
Sheets("sheet1").Select
End If
If Cells(6, "D") = "特2" Then
Sheets("sheet1").Select
Range("E6,H6").Select
Selection.Copy
Sheets("sheet4").Select
x = Sheets("Sheet4").Cells(65536, 4).End(xlUp).Row
If Cells(x, 4) <> "" Then
x = x + 1
End If
Cells(x, 4).Select
ActiveSheet.Paste
Sheets("sheet1").Select
End If
......
...(代码过长,将特3-特7代码省略掉了)
If Cells(6, "D") = "特8" Then
Sheets("sheet1").Select
Range("E6,H6").Select
Selection.Copy
Sheets("sheet4").Select
x = Sheets("Sheet4").Cells(65536, 19).End(xlUp).Row
If Cells(x, 19) <> "" Then
x = x + 1
End If
Cells(x, 19).Select
ActiveSheet.Paste
Sheets("sheet1").Select
End If

If Cells(6, "D") = "黄1" Then
Sheets("sheet1").Select
Range("E6,H6").Select
Selection.Copy
Sheets("sheet3").Select
x = Sheets("Sheet3").Cells(65536, 1).End(xlUp).Row
If Cells(x, 1) <> "" Then
x = x + 1
End If
Cells(x, 1).Select
ActiveSheet.Paste
Sheets("sheet1").Select
End If
....
.. (省略掉黄2-黄6,因为代码太长了)
If Cells(6, "D") = "黄7" Then
Sheets("sheet1").Select
Range("E6,H6").Select
Selection.Copy
Sheets("sheet3").Select
x = Sheets("Sheet3").Cells(65536, 19).End(xlUp).Row
If Cells(x, 16) <> "" Then
x = x + 1
End If
Cells(x, 16).Select
ActiveSheet.Paste
Sheets("sheet1").Select
End If
else
............
end if
查询表1中的数据,以单元D6为查询对象,通过按钮
判断是那个值,如果值对应,则将E6,H6复制到对应的
表4或表3的列里,表3表4为存储表.
下拉列表中有15个选项 下拉框在D6
可是 黄7在 复制到表3时却没复制过去,而且数据也被晴空了
展开
 我来答
桃子来喽f9
2009-03-04 · 超过43用户采纳过TA的回答
知道答主
回答量:139
采纳率:0%
帮助的人:0
展开全部
为什么这么复杂呢,试试下面这个

=INDIRECT("sheet1!"&(ADDRESS(MATCH(A1,Sheet1!A1:A3),2,1,1)))

可以实现查找并复制单元格内容,当然如果截取字符串更没有问题。

注:sheet1中区域a1:a3放置数据源。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式