用VBA编写语句使excel中选中单元格自动跑到左上角

来源:百度知道 编辑:UC知道 时间:2024/06/09 14:47:08
在excel中,当选中某一个或多个单元格时,此单元格或多个单元格中左上角的单元格会自动跑到工作表左上角,即A1的位置。

在Excel的工作表标签上点右键,选择“查看代码”,在弹出的宏编辑器中贴入如下代码,即可:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Cells(1, 1) = ActiveCell
End Sub
----------------------------
上面代码虽然简单,但有个BUG,就是 当从右下向左上选择一个区域时,结果就不对了。修改一下可解决,但代码复杂了很多:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
x = 999999999
y = x
For Each m In Target
If m.Column() < x Then x = m.Column()
If m.Row() < y Then y = m.Row()
Next m
Cells(1, 1) = Cells(y, x)
End Sub

这个程序会使得你所使用的工作簿的所有sheet的焦点都落在A1单元格的:

Sub WorkSheetFormat()
Dim wsTemp As Worksheet
For Each wsTemp In ThisWorkbook.Worksheets
wsTemp.Activate
wsTemp.Cells(1, 1).Select
Next
End Sub

Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
ThisWorkbook.ActiveSheet.Cells(1, 1) = Target.Cells(1, 1)
End Sub<