Excel VBA 每日一场景 单击单元格 就可以按需展示内容
在我们的日常工作中,Excel用处最大的还是在数据的录入方面了
日常的手工明细,或者订单处理明细,都需要通过手工的方式填入Excel,方便最终的汇总和整理
那么在进行数据录入的过程中,如何保证数据录入的准确性,就是非常重要的问题了
而实际工作中,往往每次要录入的数据内容并不统一,但是又是固定的样式
比方说这样的
那么我们如何实现快速录入呢?
今天我们借助单元格的事件功能,实现一个单击单元格就可以展示相应类别的功能
比方说这样的
这样数据录入是不是很方便呢
那么来看看这样的效果是如何实现的呢?
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim sth As Worksheet, sth1 As Worksheet, arr()
Set sth = ActiveSheet
Set sth1 = Worksheets("目录")
y = Target.Row
x = y
l = sth1.Cells(Rows.Count, x).End(xlUp).Row
sth.Columns(2) = ""
For i = 1 To l
Cells(i, 2) = sth1.Cells(i, x)
Next i
End Sub
前面我们也说了,这里我们利用了单元格的点击事件
即一旦点击了单元格,那么就会触发这个命令
来看看代码
前面4行的代码,大家应该都能够理解的,就是设置对应的工作表的
那么来到第5行
y = Target.Row
这里有一个单词,target,是什么意思?
英文的意思是目标,目的,那么这里的目标是什么呢?
我们看到最上面,单元格的点击事件这里,有一个target,他代表的就是我们点击的单元格本身
所以这个程序中所有的target,都指向我们已经点击的那个单元格。
Target.row,表示的就是获取单元格所在的行数
为什么要获得行数?
经过仔细观察,我们发现,单元格的行数正好就是目录当中的列数,那么这就形成了对应关系了。
我们有了目标的内容所在的列数之后,那么就可以将那一列的所有的内容都展示在B列
那不就可以实现这个效果了嘛?
就是这么简单
赞 (0)