为什么要使用vba双击单元格,那是因为Excel中的数据,通过复制粘贴过来以后,不会马上变成所设置的单元格的数据类型,而是要通过双击才能变成Excel所需要的数据。
就比如说,身份证中提取过来的出生年月等数据,有时候会多出0,比如,9月,自然是以09来表示了,但是,我们需要的是9而不是09,这个时候,通过双击该单元格之后,数据就自然会变成9而不是09了,因此,在这种情况下,特别需要双击这个动作。
但是,万一需要双击的单元格的数量相当的多,我们通过双击来完成,那么,会花费很多的时间和精力的。
然而,要想通过其它方式来实现,是很困难的,就连通过VBA都难于实现,因此,我们得找到突破点才能实现双击动作。
方法是有的,那就是,根据F2和Enter键来完成。大家都知道,F2功能是进入到单元格的编辑状态,而回车键Enter是让光标移动到下一个单元格,所以,先让单元格进入到F2编辑状态,再通过Enter键的操作,就能完成双击单元格的目的。
通过VBA来完成这两种动作,可使用如下的代码:
ThisWorkbook.Worksheets(1).Cells(行, 列).Select
Application.SendKeys "{F2}"
如上代码是给某单元格进入编辑状态的代码,下面再配合回车键即可。如下代码
ThisWorkbook.Worksheets(1).Cells(行, 列).Select
Application.SendKeys "{F2}"
Application.SendKeys "{Enter}"
通过这些基本的也是重要的代码,可解决单元格双击问题,如果单元格相当的多,可借助循环来实现,如下代码便是:
For j = 1 To Sheet2.UsedRange.Rows.Count
ThisWorkbook.Worksheets(1).Cells(j, 3).Select
Application.SendKeys "{F2}"
Application.SendKeys "{Enter}"
Next j