下面的这个例子,本站要给大家讲解的是VBA在Excel中的使用,我们要学习的是,如何实现这样的效果,只要使用鼠标点击A列中的任何一个单元格,就把与该单元格的内容即名称一样的其它行的数据,整行都粘贴到Sheet2里面!
下面我们先看Sheet1的大体内容,如下图。
上图中,A列是品种的名称,只要使用鼠标这一列中的某个名称,比如,大众,那么,其它数据行,只要名称为大众的,那么,这些行的数据,整行都被复制粘贴到Sheet2里面。如果点击的是B或C甚至是其它列,只要不是第一列,那么,就不实现这种效果。
如下图,请大家仔细观察,
上图中,鼠标选择的是A10单元格,其内容为大众两个字,那么,通过观察,Sheet1中A列品种名称为大众的,共有两行,分保是第5行和第10行,根据上述分析,那么,结果应该为,Sheet1中第5行和第10行,会被复制粘贴到Sheet2里面,如下图一样。
那么,我们如何编写VBA代码呢?这得需要你有一定的VBA基础,如果没有,请在本站自行学习相应的基础文章。
好了,需求与过程,都给大家诫完了,下面,就是所编写的代码了。代码如下图一样,代码放在Sheet1中。
仔细看上述的代码,请注意,代码是放在SelectionChange这个事件中。
下面的这部分代码是实现复制粘贴功能的,使用的不是复制粘贴的代码,而是赋值的代码。
For m = 1 To Sheet1.UsedRange.Columns.Count
Sheet2.Cells(k, m).Value = Sheet1.Cells(j, m).Value
Next m
k = k + 1
另外,Sheet2.Cells.ClearContents是清除Sheet2整个表格的内容。
而 Sheet2.Activate则是激活 Sheet2的代码。