ExcelHome技术论坛

 找回密码
 免费注册

QQ登录

只需一步,快速开始

快捷登录

搜索
EH技术汇-专业的职场技能充电站 妙哉!函数段子手趣味讲函数 Excel服务器-会Excel,做管理系统 Excel Home精品图文教程库
HR薪酬管理数字化实战 Excel 2021函数公式学习大典 Excel数据透视表实战秘技 打造核心竞争力的职场宝典
300集Office 2010微视频教程 数据工作者的案头书 免费直播课集锦 ExcelHome出品 - VBA代码宝免费下载
用ChatGPT与VBA一键搞定Excel WPS表格从入门到精通 Excel VBA经典代码实践指南
查看: 1433|回复: 8

[求助] If then else判断语句怎么使用

[复制链接]

TA的精华主题

TA的得分主题

发表于 2016-10-10 14:50 | 显示全部楼层 |阅读模式
附件中有三个工作表,商家信息是原始数据表,要求在查询表中输入商家名称,结果显示在“显示表”里,现在想请教,若输入的商家信息错误或者为空是,怎么实现显示提示框“请输入有效商家名称!”,以下是原始代码,请大神赐教,谢谢。
Sub a()
    Dim i As Integer
    For i = 1 To 1000
        If Sheets("商家信息").Range("a" & i) = [C4] Then
           Sheets("商家信息").Range("a" & i).Copy Sheets("显示").[D6]
           Sheets("商家信息").Range("c" & i).Copy Sheets("显示").[D7]
           Sheets("商家信息").Range("e" & i).Copy Sheets("显示").[D8]
           Sheets("商家信息").Range("d" & i).Copy Sheets("显示").[D9]
           Sheets("显示").[D10] = Sheets("商家信息").Range("g" & i)
           Sheets("显示").[D11] = Sheets("商家信息").Range("t" & i)
           Sheets("商家信息").Range("h" & i).Copy Sheets("显示").[C13]
           Sheets("商家信息").Range("i" & i).Copy Sheets("显示").[D13]
           Sheets("商家信息").Range("j" & i).Copy Sheets("显示").[E13]
           Sheets("商家信息").Range("k" & i).Copy Sheets("显示").[F13]
           Sheets("商家信息").Range("l" & i).Copy Sheets("显示").[G13]
           Sheets("商家信息").Range("m" & i).Copy Sheets("显示").[H13]
           Sheets("商家信息").Range("n" & i).Copy Sheets("显示").[C14]
           Sheets("商家信息").Range("o" & i).Copy Sheets("显示").[D14]
           Sheets("商家信息").Range("p" & i).Copy Sheets("显示").[E14]
           Sheets("商家信息").Range("q" & i).Copy Sheets("显示").[F14]
           Sheets("商家信息").Range("r" & i).Copy Sheets("显示").[G14]
           Sheets("商家信息").Range("s" & i).Copy Sheets("显示").[H14]
           Sheets("商家信息").Range("b" & i).Copy Sheets("显示").[F6]
           Sheets("商家信息").Range("f" & i).Copy Sheets("显示").[F7]
           Sheets("商家信息").Range("u" & i).Copy Sheets("显示").[F8]
           Sheets("商家信息").Range("v" & i).Copy Sheets("显示").[F9]
        End If
    Next i
    Sheets("显示").Select
End Sub


求助.rar

18.6 KB, 下载次数: 10

TA的精华主题

TA的得分主题

发表于 2016-10-10 15:17 | 显示全部楼层
可以考虑用find,就不需要循环了。数据复制连续区域可以一起来。

TA的精华主题

TA的得分主题

发表于 2016-10-10 15:18 | 显示全部楼层
  1. Sub a()
  2.     Dim i As Integer
  3.     For i = 1 To 1000
  4.         If Sheets("商家信息").Range("a" & i) = [C4] Then
  5.            Sheets("商家信息").Range("a" & i).Copy Sheets("显示").[D6]
  6.            Sheets("商家信息").Range("c" & i).Copy Sheets("显示").[D7]
  7.            Sheets("商家信息").Range("e" & i).Copy Sheets("显示").[D8]
  8.            Sheets("商家信息").Range("d" & i).Copy Sheets("显示").[D9]
  9.            Sheets("显示").[D10] = Sheets("商家信息").Range("g" & i)
  10.            Sheets("显示").[D11] = Sheets("商家信息").Range("t" & i)
  11.            Sheets("商家信息").Range("h" & i).Copy Sheets("显示").[C13]
  12.            Sheets("商家信息").Range("i" & i).Copy Sheets("显示").[D13]
  13.            Sheets("商家信息").Range("j" & i).Copy Sheets("显示").[E13]
  14.            Sheets("商家信息").Range("k" & i).Copy Sheets("显示").[F13]
  15.            Sheets("商家信息").Range("l" & i).Copy Sheets("显示").[G13]
  16.            Sheets("商家信息").Range("m" & i).Copy Sheets("显示").[H13]
  17.            Sheets("商家信息").Range("n" & i).Copy Sheets("显示").[C14]
  18.            Sheets("商家信息").Range("o" & i).Copy Sheets("显示").[D14]
  19.            Sheets("商家信息").Range("p" & i).Copy Sheets("显示").[E14]
  20.            Sheets("商家信息").Range("q" & i).Copy Sheets("显示").[F14]
  21.            Sheets("商家信息").Range("r" & i).Copy Sheets("显示").[G14]
  22.            Sheets("商家信息").Range("s" & i).Copy Sheets("显示").[H14]
  23.            Sheets("商家信息").Range("b" & i).Copy Sheets("显示").[F6]
  24.            Sheets("商家信息").Range("f" & i).Copy Sheets("显示").[F7]
  25.            Sheets("商家信息").Range("u" & i).Copy Sheets("显示").[F8]
  26.            Sheets("商家信息").Range("v" & i).Copy Sheets("显示").[F9]
  27.            Exit For
  28.            Else
  29.            MsgBox "请输入有效商家名称!"
  30.            Exit For
  31.         End If
  32.     Next i
  33.     Sheets("显示").Select
  34. End Sub

复制代码

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-10-10 15:23 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2016-10-10 15:24 | 显示全部楼层
  1. Sub 查询()
  2.     Dim Rng As Range, c As Range, r As Range, strMyr$, i%
  3.     strMyr = [c4].Value
  4.     Set Rng = Sheets("显示").[d6,f6,d7,d9,d8,f7,d10,c13:h14,d11,f8:f9]
  5.     If Trim(strMyr) = "" Then MsgBox "商家名称不能为空!", 32, "提示": Exit Sub
  6.     Set c = Sheets("商家信息").[a:a].Find(strMyr, , , 1)
  7.     If Not c Is Nothing Then
  8.         For Each r In Rng
  9.             r = c.Offset(, i).Value
  10.             i = i + 1
  11.         Next
  12.         Sheets("显示").Select
  13.     Else
  14.         MsgBox "请输入有效商家名称!", 32, "提示"
  15.     End If
  16. End Sub
复制代码

TA的精华主题

TA的得分主题

发表于 2016-10-10 15:26 | 显示全部楼层
[广告] Excel易用宝 - 提升Excel的操作效率 · Excel / WPS表格插件       ★免费下载 ★       ★ 使用帮助
利用工作表事件做的,看看是否满足要求。

副本Xl0000056.rar

13.74 KB, 下载次数: 4

TA的精华主题

TA的得分主题

发表于 2016-10-10 15:27 | 显示全部楼层
>>>>>>>>>>>>>>>

求助.zip

19.54 KB, 下载次数: 4

TA的精华主题

TA的得分主题

 楼主| 发表于 2016-10-10 15:36 | 显示全部楼层

TA的精华主题

TA的得分主题

发表于 2016-10-10 15:52 | 显示全部楼层
变形金刚他妈 发表于 2016-10-10 15:23
显示错误信息的时候怎么设置不要跳转页面啊
  1. Sub a()
  2.     Dim i As Integer
  3.     For i = 1 To 1000
  4.         If Sheets("商家信息").Range("a" & i) = [C4] Then
  5.         aa = i
  6.            Sheets("商家信息").Range("a" & i).Copy Sheets("显示").[D6]
  7.            Sheets("商家信息").Range("c" & i).Copy Sheets("显示").[D7]
  8.            Sheets("商家信息").Range("e" & i).Copy Sheets("显示").[D8]
  9.            Sheets("商家信息").Range("d" & i).Copy Sheets("显示").[D9]
  10.            Sheets("显示").[D10] = Sheets("商家信息").Range("g" & i)
  11.            Sheets("显示").[D11] = Sheets("商家信息").Range("t" & i)
  12.            Sheets("商家信息").Range("h" & i).Copy Sheets("显示").[C13]
  13.            Sheets("商家信息").Range("i" & i).Copy Sheets("显示").[D13]
  14.            Sheets("商家信息").Range("j" & i).Copy Sheets("显示").[E13]
  15.            Sheets("商家信息").Range("k" & i).Copy Sheets("显示").[F13]
  16.            Sheets("商家信息").Range("l" & i).Copy Sheets("显示").[G13]
  17.            Sheets("商家信息").Range("m" & i).Copy Sheets("显示").[H13]
  18.            Sheets("商家信息").Range("n" & i).Copy Sheets("显示").[C14]
  19.            Sheets("商家信息").Range("o" & i).Copy Sheets("显示").[D14]
  20.            Sheets("商家信息").Range("p" & i).Copy Sheets("显示").[E14]
  21.            Sheets("商家信息").Range("q" & i).Copy Sheets("显示").[F14]
  22.            Sheets("商家信息").Range("r" & i).Copy Sheets("显示").[G14]
  23.            Sheets("商家信息").Range("s" & i).Copy Sheets("显示").[H14]
  24.            Sheets("商家信息").Range("b" & i).Copy Sheets("显示").[F6]
  25.            Sheets("商家信息").Range("f" & i).Copy Sheets("显示").[F7]
  26.            Sheets("商家信息").Range("u" & i).Copy Sheets("显示").[F8]
  27.            Sheets("商家信息").Range("v" & i).Copy Sheets("显示").[F9]
  28.            Sheets("显示").Select
  29.            Exit For
  30.             ElseIf i = 1000 Then MsgBox "请输入有效商家名称!"
  31.         End If
  32.     Next i  
  33. End Sub

复制代码
您需要登录后才可以回帖 登录 | 免费注册

本版积分规则

手机版|关于我们|联系我们|ExcelHome

GMT+8, 2024-6-3 07:50 , Processed in 0.044566 second(s), 12 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 1999-2023 Wooffice Inc.

沪公网安备 31011702000001号 沪ICP备11019229号-2

本论坛言论纯属发表者个人意见,任何违反国家相关法律的言论,本站将协助国家相关部门追究发言者责任!     本站特聘法律顾问:李志群律师

快速回复 返回顶部 返回列表