excel程序问题

来源:百度知道 编辑:UC知道 时间:2024/09/23 14:31:31
我对个单元设置了15个值的数据序列(下拉列表)
然后使用下面的语句:判断单元中的数据是否与程序值对应,如果对应将值进行复制:
Dim x%
If Cells(6, "D") = "普兴" Then
Sheets("sheet1").Select
Range("E6,H6").Select
Selection.Copy
Sheets("sheet5").Select
x = Sheets("Sheet5").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
可当选择值为普兴时,却没有反映,程序运行也正常,这是为什么?是数据有效性的下拉列表满了?值太多了?还是这样的条件语句太多了不允许复制?还是我代码上那出错了?

只有D6=普兴时下边的代码才会运行。

如果你想选择值为普兴就执行的话,
将If Cells(6, "D") = "普兴" Then
改为If SELECTION.VALUE2= "普兴" Then
即可。

先将Cells(6, "D") 值赋给一个变量,然后用Case语句去判断这个变量可以么?

这样的情况不建议用太多IF语句去判断。