下面的這個例子,本站要給大家講解的是VBA在Excel中的使用,我們要學習的是,如何實現(xiàn)這樣的效果,只要使用鼠標點擊A列中的任何一個單元格,就把與該單元格的內(nèi)容即名稱一樣的其它行的數(shù)據(jù),整行都粘貼到Sheet2里面!
下面我們先看Sheet1的大體內(nèi)容,如下圖。
上圖中,A列是品種的名稱,只要使用鼠標這一列中的某個名稱,比如,大眾,那么,其它數(shù)據(jù)行,只要名稱為大眾的,那么,這些行的數(shù)據(jù),整行都被復制粘貼到Sheet2里面。如果點擊的是B或C甚至是其它列,只要不是第一列,那么,就不實現(xiàn)這種效果。
如下圖,請大家仔細觀察,
上圖中,鼠標選擇的是A10單元格,其內(nèi)容為大眾兩個字,那么,通過觀察,Sheet1中A列品種名稱為大眾的,共有兩行,分保是第5行和第10行,根據(jù)上述分析,那么,結(jié)果應(yīng)該為,Sheet1中第5行和第10行,會被復制粘貼到Sheet2里面,如下圖一樣。
那么,我們?nèi)绾尉帉慥BA代碼呢?這得需要你有一定的VBA基礎(chǔ),如果沒有,請在本站自行學習相應(yīng)的基礎(chǔ)文章。
好了,需求與過程,都給大家誡完了,下面,就是所編寫的代碼了。代碼如下圖一樣,代碼放在Sheet1中。
仔細看上述的代碼,請注意,代碼是放在SelectionChange這個事件中。
下面的這部分代碼是實現(xiàn)復制粘貼功能的,使用的不是復制粘貼的代碼,而是賦值的代碼。
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整個表格的內(nèi)容。
而 Sheet2.Activate則是激活 Sheet2的代碼。