zoukankan      html  css  js  c++  java
  • 20190118_xlVBA多表合并

    Public Sub simple()
        Set wb = ActiveWorkbook
        Set sht = ActiveSheet
        msg = MsgBox("程序准备清除活动工作表内容?按是确认,按否退出!", vbYesNo, "Tips")
        If msg = vbNo Then Exit Sub
        msg = MsgBox("请您确认是否对本文件做好了备份,宏运行之后不可恢复?按是确认,按否退出!", vbYesNo, "Tips")
        If msg = vbNo Then Exit Sub
        sht.Cells.Clear
        
        shtFilter = Application.InputBox("请输入工作表过滤字符(没有指定的话输入星号*)  : ", "InputBox", , , , , , 2)
        If shtFilter = False Then shtFilter = ""
        
        head = Application.InputBox("请输入表头行数", "InputBox", , , , , , 1)
        If head = False Then head = 0
        
        endFilter = Application.InputBox("请输入结束行字符(没有指定的话输入星号*) :", "InputBox", , , , , , 2)
        If endFilter = False Then endFilter = ""
        tail = Application.InputBox("请输入表尾行数", "InputBox", , , , , , 1)
        If tail = False Then tail = 0
        
        counter = 0
        For Each onesht In wb.Worksheets
            If onesht.Name Like "*" & shtFilter & "*" Then
                If onesht.Name <> sht.Name Then
                    counter = counter + 1
                    Debug.Print onesht.Name
                    With onesht
                        If Application.WorksheetFunction.CountA(.Cells) > 0 Then
                            EndCol = 50 ' .Cells.Find("*", .Cells(1, 1), xlValues, xlWhole, xlByColumns, xlPrevious).Column
                            
                            EndRow = .Cells.Find("*" & endFilter & "*", .Cells(1, 1), xlValues, xlWhole, xlByRows, xlPrevious).Row
                            If counter = 1 Then
                                Set scrRng = .Range(.Cells(1, "a"), .Cells(EndRow - tail, EndCol))
                                scrRng.Copy sht.Cells(1, 1)
                            Else
                                Set scrRng = .Range(.Cells(head + 1, 1), .Cells(EndRow - tail, EndCol))
                                With sht
                                    nextRow = .Cells.Find("*", .Cells(1, 1), xlValues, xlWhole, xlByRows, xlPrevious).Row + 1
                                    scrRng.Copy sht.Cells(nextRow, 1)
                                End With
                            End If
                        End If
                    End With
                End If
            End If
        Next
    End Sub
    

      

  • 相关阅读:
    directshow filter中添加属性页
    (转)3G卡片在开发板上的详细解决方法
    Mean Shift 算法流程
    FloodFill(漫水填充)算法
    Camshift算法(1)
    jQuery click实现toggle(fn,fn)
    每天学点MVC 【Controller返回类型总结】
    jQuery empty在IE下不支持
    Meta标签详解【转载】
    JS格式化
  • 原文地址:https://www.cnblogs.com/nextseven/p/10289911.html
Copyright © 2011-2022 走看看