如果标题出现多次,则删除标题

时间:2018-04-23 07:26:58

标签: excel vba excel-vba

我最近开发了一个宏来将70张纸合并到一张纸上。我现在遇到的问题是,每个工作表的所有标题现在都在统一表格中重复,同时我不再需要子标题。

是否有一个宏可以轻松删除重复的标题?

这是我目前的代码:

airflow scheduler

是否可以编辑此代码以仅在两个变量之间复制(例如,分配和客户端)?

1 个答案:

答案 0 :(得分:1)

此方法检查单个列中的标头,然后根据该列删除该行。使用不在数据体内重复标题的列。

Sub RemoveHeaders()

    Dim wrkSht As Worksheet
    Dim rLastCell As Range
    Dim rFound As Range
    Dim rDelete As Range
    Dim sFirstAddress As String

    Set wrkSht = ThisWorkbook.Worksheets("Sheet1") 'Change sheet name to suit.
    With wrkSht
        Set rLastCell = .Cells(.Rows.Count, 1).End(xlUp)
        With .Range("A1", rLastCell) 'Change column reference to suit.
            Set rFound = .Find(What:="My Header", LookIn:=xlValues) 'Change header text to suit.
            If Not rFound Is Nothing Then
                sFirstAddress = rFound.Address
                Do
                    If rDelete Is Nothing Then
                        Set rDelete = rFound.EntireRow
                    Else
                        Set rDelete = Union(rDelete, rFound.EntireRow)
                    End If
                    Set rFound = .FindNext(rFound)
                Loop While rFound.Address <> sFirstAddress
            End If
        End With
        rDelete.Delete Shift:=xlUp
    End With

End Sub