為什么要使用vba雙擊單元格,那是因?yàn)镋xcel中的數(shù)據(jù),通過復(fù)制粘貼過來以后,不會(huì)馬上變成所設(shè)置的單元格的數(shù)據(jù)類型,而是要通過雙擊才能變成Excel所需要的數(shù)據(jù)。
就比如說,身份證中提取過來的出生年月等數(shù)據(jù),有時(shí)候會(huì)多出0,比如,9月,自然是以09來表示了,但是,我們需要的是9而不是09,這個(gè)時(shí)候,通過雙擊該單元格之后,數(shù)據(jù)就自然會(huì)變成9而不是09了,因此,在這種情況下,特別需要雙擊這個(gè)動(dòng)作。
但是,萬一需要雙擊的單元格的數(shù)量相當(dāng)?shù)亩啵覀兺ㄟ^雙擊來完成,那么,會(huì)花費(fèi)很多的時(shí)間和精力的。
然而,要想通過其它方式來實(shí)現(xiàn),是很困難的,就連通過VBA都難于實(shí)現(xiàn),因此,我們得找到突破點(diǎn)才能實(shí)現(xiàn)雙擊動(dòng)作。
方法是有的,那就是,根據(jù)F2和Enter鍵來完成。大家都知道,F(xiàn)2功能是進(jìn)入到單元格的編輯狀態(tài),而回車鍵Enter是讓光標(biāo)移動(dòng)到下一個(gè)單元格,所以,先讓單元格進(jìn)入到F2編輯狀態(tài),再通過Enter鍵的操作,就能完成雙擊單元格的目的。
通過VBA來完成這兩種動(dòng)作,可使用如下的代碼:
ThisWorkbook.Worksheets(1).Cells(行, 列).Select
Application.SendKeys '{F2}'
如上代碼是給某單元格進(jìn)入編輯狀態(tài)的代碼,下面再配合回車鍵即可。如下代碼
ThisWorkbook.Worksheets(1).Cells(行, 列).Select
Application.SendKeys '{F2}'
Application.SendKeys '{Enter}'
通過這些基本的也是重要的代碼,可解決單元格雙擊問題,如果單元格相當(dāng)?shù)亩?,可借助循環(huán)來實(shí)現(xiàn),如下代碼便是:
For j = 1 To Sheet2.UsedRange.Rows.Count
ThisWorkbook.Worksheets(1).Cells(j, 3).Select
Application.SendKeys '{F2}'
Application.SendKeys '{Enter}'
Next j
聯(lián)系客服