目录:
的实用示例将Excel报告分发给您的客户时,添加一些花里胡哨的功能通常很不错。要应用的更简单的增强功能之一是能够在列标题被双击时进行排序。虽然这听起来很复杂,但是这个宏比较容易。
你可以在Excel中下载这个双击技巧的实例。
宏如何工作
在这个宏中,你首先找到最后一个非空行。然后使用该行号来定义需要排序的行的目标范围。使用Sort方法,您按照您双击的列对目标行进行排序。
<! Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range,Cancel As Boolean)第一步:声明你的变量Dim LastRow As Long第二步:查找最后一个非空行LastRow = Cells(Row。Count ,1)。端(xlUp)。行“步骤3:按双击列行升序排列(”6:“和LastRow)。排序_键1:=单元格(6,ActiveCell。列),_ Order1:= xlAscending结束Sub在第1步中,您声明一个长整数变量称为LastRow来保存最后一个非空行的行号。
<!在步骤2中,从工作表的最后一行开始捕获最后一个非空行,并使用End属性跳转到第一个非空行的单元格(等同于单元格A1048576和按Ctrl + Shift +向上箭头)。
请注意,您需要将此单元格中的列号更改为适合您数据集的列号。例如,如果您的表从J列开始,则需要将步骤2中的语句更改为单元格(行数,10)。端(xlUp)。因为J列是工作表中的第10列。<! - 3 - >
在步骤3中,为数据定义总行范围。请记住,行的范围必须从第一行数据(不包括标题)开始,以最后一个非空行结束。在这种情况下,您的数据集从第6行开始,因此您在行上使用Sort方法(“6:”和LastRow)。 Key参数告诉Excel要排序的范围。再次,您将要确保您使用的范围从第一行数据(不包括标题)开始。
如何使用宏要实现此宏,您需要将其复制并粘贴到Worksheet_BeforeDoubleClick事件代码窗口中。在这里放置宏使它可以在您每次双击工作表时运行:
按ALT + F11激活Visual Basic编辑器。
在“项目”窗口中找到您的项目/工作簿名称,然后单击旁边的加号查看所有工作表。
点击您想要触发代码的工作表。
-
在事件下拉框中,选择BeforeDoubleClick事件。
-
输入或粘贴代码。