Excel VBA 每日一场景 单击单元格 就可以按需展示内容

在我们的日常工作中,Excel用处最大的还是在数据的录入方面了

日常的手工明细,或者订单处理明细,都需要通过手工的方式填入Excel,方便最终的汇总和整理

那么在进行数据录入的过程中,如何保证数据录入的准确性,就是非常重要的问题了

而实际工作中,往往每次要录入的数据内容并不统一,但是又是固定的样式

比方说这样的

那么我们如何实现快速录入呢?

今天我们借助单元格的事件功能,实现一个单击单元格就可以展示相应类别的功能

比方说这样的

这样数据录入是不是很方便呢

那么来看看这样的效果是如何实现的呢?

Private Sub Worksheet_SelectionChange(ByVal Target As Range)Dim sth As Worksheet, sth1 As Worksheet, arr()Set sth = ActiveSheetSet sth1 = Worksheets("目录")y = Target.Rowx = yl = sth1.Cells(Rows.Count, x).End(xlUp).Rowsth.Columns(2) = ""For i = 1 To l Cells(i, 2) = sth1.Cells(i, x)Next iEnd Sub

前面我们也说了,这里我们利用了单元格的点击事件

即一旦点击了单元格,那么就会触发这个命令

来看看代码

前面4行的代码,大家应该都能够理解的,就是设置对应的工作表的

那么来到第5行

y = Target.Row

这里有一个单词,target,是什么意思?

英文的意思是目标,目的,那么这里的目标是什么呢?

我们看到最上面,单元格的点击事件这里,有一个target,他代表的就是我们点击的单元格本身

所以这个程序中所有的target,都指向我们已经点击的那个单元格。

Target.row,表示的就是获取单元格所在的行数

为什么要获得行数?

经过仔细观察,我们发现,单元格的行数正好就是目录当中的列数,那么这就形成了对应关系了。

我们有了目标的内容所在的列数之后,那么就可以将那一列的所有的内容都展示在B列

那不就可以实现这个效果了嘛?

就是这么简单

(0)

相关推荐