首页 > 解决方案 > 在连接单元格的情况下按字母顺序对列进行排序

问题描述

我的目标是首先A:F在我的工作表中隐藏一些列 ( ),然后按某个列 ( ) 按字母顺序对剩余的列进行排序AT。这个宏应该适用于我工作簿中的每个工作表。这是我的代码:

Option Explicit
Sub HideSort()
Dim ws As Worksheet
' loop through all worksheets
For Each ws In ActiveWorkbook.Worksheets
' hide columns
ws.Columns("A:F").Hidden = True
' sort alphabetically
Application.ScreenUpdating = False
Dim clmn As String
Dim area As String
area = "A4:FJ5000"
clmn = "AT"
ws.Range(area).Sort _
Key1:=ws.Range(clmn & "1"), Order1:=xlDescending, _
Header:=xlGuess, MatchCase:=False, _
Orientation:=xlTopToBottom
Application.ScreenUpdating = True
Next ws
End Sub

隐藏部分完美无缺。但与排序部分一起运行时,我得到一个运行时错误“1004”:所有连接的单元格必须具有相同的大小。

是的,我在工作表中连接了单元格,但只有前两行的标题。这就是为什么我只想要从第 4 行向下排序的原因A4:FJ5000

我已经检查过,其他连接的单元格不存在。那么我的错误在哪里?谢谢!

标签: vbaexcel

解决方案


推荐阅读