本文共 4105 字,大约阅读时间需要 13 分钟。
针对最近的项目中的Excel数据处理需求,整理如下脚本可供参考:
功能:将大规模数据按机器编号和时间拆分成多个工作表,便于后续分析。
使用代码:
Sub Macro2() Dim counter As Integer Dim day As Integer Dim counter2 As Integer Dim filename As String Dim daystr As String For counter = 1 To 10 counter2 = 0 + counter filename = "G:\电工杯\2\一号机\01" Application.Goto Reference:="R1C" + LTrim(Str(counter2)) + ":R51844C" + LTrim(Str(counter2)) Selection.Copy Workbooks.Add Range("A4").Select ActiveSheet.Paste Application.CutCopyMode = False day = counter daystr = LTrim(day) If day < 10 Then daystr = "0" + daystr End If ActiveWorkbook.SaveAs filename:=filename + daystr + ".xls", _ FileFormat:=xlExcel8, Password:="", WriteResPassword:="", _ ReadOnlyRecommended:=False, CreateBackup:=False ActiveWindow.Close Next counterEnd Sub
说明:
功能:从处理过的数据中计算均值、方差和平均功率,输出结果为新的文件。
使用代码:
Sub Macro1() Dim counter As Integer Dim i As Long Dim columnnum As Integer Dim datanum As String Dim filenamepro As String For counter = 1 To 10 filenamepro = "G:\电工杯\2\一号机\01" datanum = LTrim(Str(counter)) If counter < 10 Then datanum = "0" + datanum End If Workbooks.Open filename:=filenamepro + datanum + ".xls" Cells.Select Selection.Copy Workbooks.Add Cells.Select ActiveSheet.Paste Application.CutCopyMode = False Dim startnum As Long For i = 1 To 4320 Range("B" + LTrim(Str(4 + i))).Select startnum = 5 + (i - 1) * 12 ActiveCell.FormulaR1C1 = "=AVERAGE(R" + LTrim(Str(startnum)) + "C1:R" + LTrim(Str(startnum + 11)) + "C1)" Next i ActiveWorkbook.SaveAs filename:=filenamepro + datanum + "DATA" + ".xls", _ FileFormat:=xlExcel8, Password:="", WriteResPassword:="", _ ReadOnlyRecommended:=False, CreateBackup:=False ActiveWindow.Close If (i Mod 100) = 0 Then ActiveWorkbook.Save End If Next counter Range("C5").Select ActiveCell.FormulaR1C1 = "=VAR(R5C2:R4324C2)" ActiveWorkbook.Save ActiveWindow.Close ActiveWindow.Close Next counterEnd Sub
说明:
功能:将平均功率和方差结果分别输出为新的工作表,便于数据汇总。
使用代码:
Sub Macro2() ChDir "G:\电工杯\2\一号机" For counter = 1 To 10 filenamepro = "G:\电工杯\2\一号机\01" datanum = LTrim(Str(counter)) If counter < 10 Then datanum = "0" + datanum End If Workbooks.Open filename:=filenamepro + datanum + "DATA" + ".xls" Columns("B:B").Select Selection.Copy Workbooks.Add Columns("A:A").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False Range("A4").Select ActiveCell.FormulaR1C1 = "平均功率" Range("C4").Select ActiveCell.FormulaR1C1 = "方差" ActiveWorkbook.SaveAs filename:=filenamepro + datanum + "DATA平均功率" + ".xls", _ FileFormat:=xlExcel8, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False ActiveWindow.Close Columns("C:C").Select Selection.Copy Workbooks.Add Columns("A:A").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False Range("A4").Select ActiveCell.FormulaR1C1 = "方差" ActiveWorkbook.SaveAs filename:=filenamepro + datanum + "DATA方差" + ".xls", _ FileFormat:=xlExcel8, Password:="", WriteResPassword:="", ReadOnlyRecommended:=False, CreateBackup:=False ActiveWindow.Close Next counterEnd Sub
说明:
以上脚本为当前项目中的数据处理提供了完整的解决方案,可根据实际需要进行参数调整和优化。
转载地址:http://onovz.baihongyu.com/