新工作表中

时间:2017-03-09 22:07:20

标签: excel-vba vba excel

我是VBA的新手。我使用excel数据运算很多,并希望自动化它。我想编写一个代码来为每个测试参数创建一个数据透视表;我的文件有许多带测试名称的列,前3个是" Serial#" " Read Point"," Bin#"之后对样本进行了不同的测试" CAL_0.604_0.596 V" " ENABLE_-0.2_-0.8 V" " PG_-0.2_-0.8 V" 86等等(可能高达200+)。我有例如45个序列号,读取点是每个压力T0,T200,T500,T1000的测试点。所以你可以看到我有一个很大的阵列。我如何修改此代码以从我的列名称循环测试名称,并为串行#和读取点对所有数据透视图保持相同时为每个测试构建数据透视表。每个数据透视表必须位于新工作表上,工作表名称与列中的名称相同。非常感谢!! 到目前为止,我得到了这个;

Sub Macro3()
    ActiveWorkbook.PivotCaches.Create(SourceType:=xlDatabase, _
        SourceData:=Worksheets("Sheet1").Range("A1:K226")).CreatePivotTable _
            TableDestination:=Worksheets("Sheet2").Range("A1"), TableName:="PivotTable1"

    Set PT = Worksheets("Sheet2").PivotTables("PivotTable1")
    With PT.PivotFields("Serial#")
        .Orientation = xlRowField
        .Position = 1
    End With
    With PT.PivotFields("Read Point # Temp Cycles")
        .Orientation = xlColumnField
        .Position = 1
    End With
    With PT.PivotFields("CAL_0.604_0.596 V   ")
        .Orientation = xlDataField
        .Position = 1
        .Function = xlSum
    End With
    'build Chart
    ActiveSheet.Shapes.AddChart2(332, xlLineMarkers).Select
    ActiveChart.SetSourceData Source:=Range("Sheet2!$A$1:$G$48")
End Sub

0 个答案:

没有答案