久违的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代码,但也比较简单了。
?
代码:
?