我有以下代码在电子表格中对任务列表中的数据进行排序,首先按任务优先级将“已完成”推到底部,然后按日期排序(不包括已完成任务的任务);
Sub mcr_PushDown_Completed_Taks()
'
' Push down completed tasks
'
'Turn off screen updating so macro working/flashing does not show
Application.ScreenUpdating = False
With Worksheets("Tasks")
With .Range(.Cells(7, "A"), .Cells(.Rows.Count, "A").End(xlUp).Offset(0, 10))
.Cells.Sort Key1:=.Columns(1), Order1:=xlAscending, _
Orientation:=xlTopToBottom, Header:=xlYes
With .Resize(Application.Match(7, .Columns(1), 0) - 1, .Columns.Count)
.Cells.Sort Key1:=.Columns(2), Order1:=xlDescending, _
Orientation:=xlTopToBottom, Header:=xlYes
End With
End With
End With
Range("B7").Select
End Sub
但是,当我运行宏时突然出现错误
为此,所有合并的单元格必须具有相同的大小。
但是,我无法使用“查找”对话框在工作表上找到任何合并的单元格。我还能如何找到合并的单元格或解决此问题?
答案 0 :(得分:1)
此子项将查找合并的单元格。它使用范围的。MergeArea
属性来查找要合并的单元格。 VBA不提供单元格属性,该属性会向问题“我是合并区域的一部分”返回简单的“ TRUE”,因此,如果单元格的面积与常规单元格相同,则需要进行自我评估或者它是更大区域的一部分。
Sub FindMergedCells()
Dim Rng As Range
Dim c As Range
Set Rng = Selection
With Rng
For Each c In Rng
If Not (c.MergeArea.Address = c.Address) Then
Debug.Print c.Address & " is a merged cell"
End If
Next c
End With
End Sub
答案 1 :(得分:0)
有人重命名了工作表,因此代码在另一工作表上工作。