|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
本帖最后由 yimi8 于 2017-11-15 18:57 编辑
我想弄个简易的查询客户记录的excel表格,主要实现:更新,前一行记录,后一行记录,首行或尾行(互斥开关),按日期格式定位查询,按客户编号定位查询,这几个功能。还有用VBA代码实现四位数字格式的客户编号,当在sheet2表格最底行输入新的客户资料后,四位客户编号自动产生。
我自已参照网上的代码免强做了个更新的功能,但运行时有明显的刷新数据感,想请老师帮忙看看有没有更好更快的代码,其它功能没有参考做不出来,恳请老师帮忙。
Private Sub Worksheet_SelectionChange(ByVal Target As Range) '单元格选择事件
On Error Resume Next
Dim hh, lh, kh '定义变量
hh = ActiveCell.EntireRow.Row '当前单元格行号
lh = ActiveCell.EntireColumn.Column '当前单元格列号
kh = Worksheets("Sheet2").Range("A65536").End(xlUp).Row '数据最后行号
nr = Cells(hh, lh) '当前单元格内容
If nr = "更新" Then '************************【更新】
'Application.ScreenUpdating = False '关闭屏幕刷新
For i = 0 To 9
Worksheets("sheet2").Range("A" & kh - i & ":G" & kh - i).Copy Range("A" & i + 3 & ":G" & i + 3) '复制sheet2表最后10行到sheet1
Next
'Application.ScreenUpdating = True '打开屏幕刷新
End If
End Sub
|
|