1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
| Public Sub abs_and_average() On Error Resume Next If IsEmpty(Worksheets("data")) Then Sheets.Add after:=Sheets(Sheets.Count) Sheets(Sheets.Count).Name = "data" Else Worksheets("data").UsedRange.ClearContents End If insertline=0 For Each usedsheet In Worksheets: insertline=insertline+1 If usedsheet.Range("b12") = "Cd3" Then usedsheet.Range("w14").FormulaR1C1 = "齿轮箱输入转速(r/min)的绝对值" usedsheet.Range("p10").FormulaR1C1 = "输入轴转速" usedsheet.Range("w15").FormulaR1C1 = "=abs(RC[-1])" i = 30 While usedsheet.Cells(i + 1, 10) <> "" i = i + 1 Wend cc = "w15:v" & i usedsheet.Range(cc).FillDown usedsheet.Range("q10").Formula = "=AVERAGE(U3964:U5014)"
Worksheets("data").cells(insertline,1)=split(usedsheet.name,"=")(0) Worksheets("data").cells(insertline,2)=split(usedsheet.name,"=")(1) Worksheets("data").cells(insertline,3)=usedsheet.Range("Q10").value
Else End If Next Worksheets("data").range("A:c").EntireColumn.AutoFit Worksheets("data").Sort.SortFields.Clear Worksheets("data").Sort.SortFields.Add2 Key:=Range("B1:B20"), _ SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal With Worksheets("data").Sort .SetRange Range("A1:C20") .Header = xlGuess .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub
|