学习Excel技术,关注微信公众号:
excelperfect
Q:在Excel工作表中的第1行的每一列,都是按顺序排列的日期,如何在打开工作簿时自动跳转到当前日期所在的列?如下图1所示,如果今天是2019年4月6日,打开工作簿后自动选择这一列。
图1
A:很简单。在Workbook_Open过程中输入下面的代码:
Private Sub Workbook_Open()
Dim wks As Worksheet
Dim rngSearch As Range
Dim lngLastColumn As Long
Set wks = Worksheets("Sheet1")
'第一行中最后一列数据所在的列号
lngLastColumn =wks.Range("A1").End(xlToRight).Column
'第一行中的数据区域
Set rngSearch = wks.Range("A1").Offset(0,0).Resize(1, lngLastColumn)
'查找当前日期所在的单元格并激活该单元格
rngSearch.Find(Date).Activate
End Sub
代码在工作簿打开时,先确定工作表Sheet1的第一行中所有已使用的单元格区域,然后使用Find方法在该区域查找到当前日期,并激活当前日期所在的单元格。
注意,代码要放置在ThisWorkbook模块中。
代码的图片版如下:
本文属原创文章,转载请注明出处。