Excel宏——升级说明整理

Private Function SheetExists(sname) AsBoolean

Dim x As Object

On Error Resume Next

Set x = ActiveWorkbook.Sheets(sname)

If Err = 0 Then

SheetExists = True

Else

SheetExists = False

End If

End Function

Sub Check()

 

   Dim desDir As String

   Dim filename As String

   Dim rowMaxS As Integer

   Dim rowMaxD As Integer

 

   

   desDir = ThisWorkbook.Path & "\升级包制作\"

   filename = Dir(desDir & "*.xls")

   

   ''检查sheet页名称是否规范

   Workbooks(filename).Activate

   

   If SheetExists("安装说明") And SheetExists("程序项列表") AndSheetExists("修改单列表") Then

   

   Else

       MsgBox "sheet页命名不规范请检查!"

       Exit Sub

   End If

   

   ''复制升级安装说明内容

   rowMaxD = Workbooks(filename).Worksheets("安装说明").Range("B65536").End(xlUp).Row

   rowMaxS = ThisWorkbook.Worksheets("安装说明").Range("B65536").End(xlUp).Row

   

   Workbooks(filename).Activate

   Sheets("安装说明").Select

   

   Rows("5:100").Select

   Selection.Delete Shift:=xlUp

   

   ThisWorkbook.Activate

   Sheets("安装说明").Select

   

   Rows("5:" & rowMaxS).Select

   Selection.Copy

   Workbooks(filename).Activate

   Sheets("安装说明").Select

   

   Rows("5:5").Select

   Selection.Insert Shift:=xlDown

   Application.CutCopyMode = False

 

''程序列表格式调整

'检查程序项个数

   rowMaxD2 = Workbooks(filename).Worksheets("程序项列表").Range("A65536").End(xlUp).Row- 1

   MsgBox "请检查程序项个数: " & rowMaxD2

   

    '格式刷

   ThisWorkbook.Activate

   Sheets("程序项列表").Select

   Rows("1:1").Select

   Selection.Copy

   Workbooks(filename).Activate

   Sheets("程序项列表").Select

   Rows("1:1").Select

   Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _

       SkipBlanks:=False, Transpose:=False

   Application.CutCopyMode = False

   ThisWorkbook.Activate

   Sheets("程序项列表").Select

   

   Rows("2:2").Select

   Selection.Copy

   Workbooks(filename).Activate

   Sheets("程序项列表").Select

    Rows("2:"& rowMaxD2).Select

   Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _

       SkipBlanks:=False, Transpose:=False

   Application.CutCopyMode = False

 

''升级说明检查

'查找修改单备注、修改版本、修改单状态、测试发现问题及备注、附件

   ColumnsArray = Array("修改单备注", "修改版本","修改单状态", "测试发现问题及备注", "附件")

   

   Workbooks(filename).Activate

   Sheets("修改单列表").Select

   Rows("1:1").Select

   For Each Column In ColumnsArray

       R = Application.CountIf(Rows("1:1"), Column)

        

       If R <> 0 Then

           MsgBox "修改单列表存在不需要的列,请注意检查!" & Chr(13) & Column

           Exit Sub

       End If

       

  Next

  

 '''插入需求提出方编号

   Workbooks(filename).Activate

   Sheets("修改单列表").Select

   Columns("K:K").Select

   Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove

   Range("J1").Select

   ActiveCell.FormulaR1C1 = "需求提出方"

   Range("K1").Select

   ActiveCell.FormulaR1C1 = "需求提出方编号"

   Range("K2").Select

   ActiveCell.FormulaR1C1 = _

      "=VLOOKUP(C[-1],'[" & ThisWorkbook.Name & "]客户'!C4:C5,2,0)"

   maxRow3 = Worksheets("修改单列表").Range("A65536").End(xlUp).Row

   Selection.AutoFill Destination:=Range("K2:K" & maxRow3)

   Columns("K:K").Select

   Selection.Copy

   Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks_

       :=False, Transpose:=False

  

  

'统计券商个数

 

   Workbooks(filename).Activate

   Sheets("修改单列表").Select

   Range("H:H,J:J").Select

   Selection.Copy

   ThisWorkbook.Activate

   Sheets("sheet1").Select

   Columns("A:B").Select

   ActiveSheet.Paste

   Columns("A:A").Select

   Application.CutCopyMode = False

   maxRow1 =Worksheets("Sheet1").Range("A65536").End(xlUp).Row

   ActiveSheet.Range("$A$1:$B$" & maxRow1).RemoveDuplicatesColumns:=1, Header:=xlYes

 

   Sheets("Sheet2").Select

   Cells.Select

   Application.CutCopyMode = False

   Selection.ClearContents

   Sheets("Sheet1").Select

   Columns("B:B").Select

   Selection.Copy

   Sheets("Sheet2").Select

   Columns("A:A").Select

   ActiveSheet.Paste

   Columns("A:A").Select

   ActiveSheet.Range("$A$1:$A$" & maxRow1).RemoveDuplicatesColumns:=1, Header:=xlYes

   maxRow2 =Worksheets("Sheet2").Range("A65536").End(xlUp).Row

   Range("B2").Select

   ActiveCell.FormulaR1C1 = "=COUNTIFS(Sheet1!C,Sheet2!RC[-1])"

   Range("B2").Select

   Selection.AutoFill Destination:=Range("B2:B" & maxRow2)

   Range("B1").Select

   ActiveCell.FormulaR1C1 = "数量"

   

   Range("B2:B" & maxRow2).Select

   Selection.Copy

   Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks_

       :=False, Transpose:=False

   Columns("B:B").Select

   Application.CutCopyMode = False

   ActiveWorkbook.Worksheets("Sheet2").Sort.SortFields.Clear

   ActiveWorkbook.Worksheets("Sheet2").Sort.SortFields.AddKey:=Range("B1"), _

       SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal

   With ActiveWorkbook.Worksheets("Sheet2").Sort

       .SetRange Range("A2:B86")

       .Header = xlNo

       .MatchCase = False

       .Orientation = xlTopToBottom

       .SortMethod = xlPinYin

       .Apply

   End With

   

   maxRowf = maxRow2 + 1

   Range("A" & maxRowf).Select

   ActiveCell.FormulaR1C1 = "共计"

   Sum = WorksheetFunction.Sum(Range(Cells(2, 2), Cells(65536,2).End(xlUp)))

   Worksheets("sheet2").Cells((maxRow2 + 1), 2) = Sum

   Range("D29").Select

   

   Rows("2:2").Select

   Selection.Copy

   Rows(maxRow2 + 1 & ":" & maxRow2 + 1).Select

   Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _

       SkipBlanks:=False, Transpose:=False

   Application.CutCopyMode = False

 

End Sub

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值