`
lydawen
  • 浏览: 472183 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

久违的VBA

 
阅读更多

一mm同学想在excel中使用这么个功能,在一个单元格,假设为A1,做一些选项,例如,洗车品牌型号,在它下面就显示对应的汽车参数,价格等数据。

 

本准备使用lookup,结果发现没能成功。最后还是转身强大的VBA,早年对VB比较熟悉过,所以VBA自然没啥问题,主要就是API的熟悉了。

 

实现方案:监控A1的变化,这需要用到Sub Worksheet_Change(ByVal Target As Range)这个内置的方法(事件),然后判断其address是否为A1,再根据值来做操作。本来是使用定位,但这样其它汽车信息也会显示出来,所以最终的方案是:第一行第一格即A1,放汽车品牌型号列表,然后冻结B1,这样第一行就不动了。当A1值变化时,将2-N行隐藏,这个N即所有数据将占据的行数。然后再把对应汽车品牌的参数信息所在行显示出来。这样,如果再加汽车品牌还是需要修改下VBA代码,但也比较简单了。

 

代码:

Const all As String = "a2:a500" '表示你所有的数据在2-500行,如果多的话可以自己修改

'这里要定义产品,如果新增产品,只需要改这里!!!!!!!

Public s10 As String
Public s20 As String
Public s30 As String
Public s40 As String
Public s50 As String
'上面有几个产品这里也要写几个!!!!!!!
Private Sub initVar()
     s10 = "a2:a10"
     s20 = "a11:a20"
     s30 = "a21:a30"
     s40 = "a31:a40"
     s50 = "a41:a50"

End Sub

'=====================================以下的代码都不需要修改了=================================


'用来隐藏指定范围行
Private Sub hideRow(rrng As String)
    Set rng = Range(rrng)
    rng.EntireRow.Hidden = True
End Sub
'用来显示指定范围行
Private Sub showRow(rrng As String)
   Set rng = Range(rrng)
   rng.EntireRow.Hidden = False
End Sub
'控制某个单元格数据变化来做相应的操作,这里是隐藏或显示指定行
Private Sub Worksheet_Change(ByVal Target As Range)
    On Error GoTo showmsg
    Call initVar
    
    If Target.Address = "$A$1" Then
        Call hideRow(all)
        Dim myRows As String
        myRows = CallByName(Me, Target.Value, VbGet)
        Call showRow(myRows)
    End If
    Exit Sub
showmsg:
    MsgBox "可怜的程序不能处理您的操作,请检查数据!"
End Sub
 
分享到:
评论

相关推荐

    久违的microsoft vortual 虚拟机安装图解.doc

    久违的microsoft vortual 虚拟机安装图解.doc

    建筑行业周报:行业迎来久违上涨,民营企业可参与交通基金.pdf

    建筑行业周报:行业迎来久违上涨,民营企业可参与交通基金.pdf

    近300亿!医疗器械领域久违的大手笔收购.pdf

    医疗器械领域久违的大手笔收购"指的是波士顿科学(Boston Scientific)对英国BTG Plc的巨额收购案,金额约为42.4亿美元。这是一次医疗器械行业的重大交易,对于双方公司以及整个医疗健康领域都具有深远的影响。 BTG...

    建筑行业周报:行业迎来久违上涨,民营企业可参与交通基金.zip

    首先,行业迎来久违上涨这一现象表明,在经历了一段时间的低迷或者稳定期后,建筑行业正显示出强劲的复苏迹象。这可能是由于政府对基础设施建设的投资增加,或者是市场需求的回暖,或者是政策调整带来的积极影响。...

    久违了的幸福彩色简历表.doc

    【简历制作要点】 在制作个人简历时,首先要注重信息的清晰性和准确性。姓名、性别、出生日期、联系方式等基本信息必须准确无误。学历和专业是雇主关注的重点,要明确写出,如本例中的航空器设计专业本科。...

    OpenCMS内容管理入门指南(附源码)

    很多人都听说了OpenCms,知道了它的强大,索性的下载安装了,终于见到了久违OpenCms,看到了它简洁的界面,欣喜过后却不免一脸茫然,这个东西怎么用,我怎么用它来建站,从哪开始,无从下手,找资料,少之双少~~入门...

    家用电器行业周报(W34):7月空调内销:久违的负增长.pdf

    家用电器行业周报W34中所涵盖的知识点包括: 1. 家电行业数据分析:周报中提到的28个申万一级行业中的第15位,显示了家电行业在最近一段时间内的市场表现。同时,报告中提到了行业的涨跌情况,例如上证指数、深证成...

    久违的计算机升级! 更换主板、DIY高速无线网卡,然后差点惨绝人Huan..

    【Huan】_久違的電腦升級!_更換主機板、DIY高速無線網卡,然後差點慘絕人Huan..

    固定收益点评:北方转债,专注国际工程,久违的AA+新券-1022-国盛证券-11页.pdf

    【北方转债】是北方国际(000065.SZ)发行的一只可转换债券,其特点是专注于国际工程领域。此债券的发行规模为5.7821亿元,评级为AA+,这是自6月份以来信用评级最高的新券。募集资金的主要用途包括收购克罗地亚能源...

    s.el:久违的Emacs字符串操作库

    。 长期丢失的Emacs字符串操作库。安装它可以在上: M-x package-install s或者,您可以仅将s.el转储到您的加载路径中的某个位置。职能调整空白 (s) (s) (s) (s) (s) (len s) (len s) (len padding s) 右s垫(len ...

    八年级语文上册第22课《都市精灵》同步练习苏教版.pdf

    - "久违":表示很久没见,此处指乌鸦在城市中变得罕见。 - "钟爱":特别喜欢,文中用于表达城市对特定小动物的喜爱。 - "景致":景色或景象,文中指由特定动物构成的城市特色景观。 3. 介词应用:在句子中正确...

    Oppo R7t for win10驱动

    辛苦找到这个驱动后偶尔发现我的win10经常出现久违的R7存储盘了!不过需要注意的是,我刚安装这驱动后,前几次开机都不会出现r7存储盘,后来某天突然又冒出来了,所以你要有耐心、而且不能保证绝对可以用哈,无法...

    三星s系列显示器MCU刷新程序SamsungFirmwareUpdater-1.1.07

    液晶显示器刷机MCU软件,如常用的2025等液晶驱动板MCU写软件。三星sa系列显示器下载固件下载用于解决VGA连接无反应,开机黑屏,在线刷机,无需拆卸,亲测可用,大家可以试试。...久违的桌面就显示在显示器上了。

    Quartus15下载链接

    Quartus的官方下载链接,拥有久违的Linux版,快来下载吧!

    批量打印7.0.zip

    好用的批量打印工具,Home办公软件PrintConductor – 无需打开,批量打印文档 PrintConductor – 无需打开,批量打印文档办公软件 2010/06/08...没错,在 PrintConductor 支持批量打印的格式中,我们看到了久违的 WPS!

    Eziriz_.NET_Reactor_6.3.0.0.rar

    .NET Reactor迎来了久违的版本更新,进入v6.3.0.0全新时代!支持Blazor保护,支持.NET 5 Preview 4保护,允许创建.NET Core 3.x单个文件应用程序,改进了许多功能性能,等等10个功能的更新和改进,更多更新详情如下...

    hourUI时光整合包V1.02.rar

    搬运一下时光整合插件 感谢Beta测试期间EKE和zwcol等作者的制作,汉化和搬运。 插件区有一句话,无论你倒腾多久的界面,最终还是会回到原版界面的。...后续的Raid可能给大家修复一下久违的SSui,敬请期待。

    百度拼音输入法

    1. 新增亲笔信功能,独创原笔迹手写,从此输入法不只输入文字,还有指尖上的真情、久违的感动 2. 新增神码传文功能,无需连接、无需设置,文本、资料、联系人,直接输入到手机,无限新奇用法等你探索 2014.01.21...

Global site tag (gtag.js) - Google Analytics