excel的VBA代码。三维旋转

excel的VBA代码。三维旋转,excel,3d,vba,Excel,3d,Vba,我带着一个老问题回来,你给了我答案。 通过此链接可以找到旧问题: 我已经对我的要求做了一些修改,但是我需要一些关于3D绘图的帮助。确切地说,我想要以下设置 VBA代码是: Sub Linearity_Plot() Dim pas As Integer, val As Integer, lCol As Integer, i As Integer, j As Integer, ch As Chart With Sheets("HOOD") lCol = .Cells(2, .Colu

我带着一个老问题回来,你给了我答案。 通过此链接可以找到旧问题:

我已经对我的要求做了一些修改,但是我需要一些关于3D绘图的帮助。确切地说,我想要以下设置

VBA代码是:

Sub Linearity_Plot()

Dim pas As Integer, val As Integer, lCol As Integer, i As Integer, j As Integer, ch As Chart

With Sheets("HOOD")
    lCol = .Cells(2, .Columns.Count).End(xlToLeft).Column
    val = .Range("A1").Value
    pas = val + 2
     Rows("2:4").Select
Selection.Delete Shift:=xlUp
Range("A2").Select
Selection.ClearContents  
For j = 2 To lCol
Cells(2, j).Value = Left(Right(Left(Cells(1, j), 17), 5), 2)
Next

    ' insert an empty column and a copy of column A
    For colx = pas To lCol Step pas
        .Columns(colx).Insert Shift:=xlToRight
        .Columns(colx).Insert Shift:=xlToRight
        .Columns(1).Copy .Columns(colx + 1)
    Next
    Application.CutCopyMode = False

    ' for every group of columns generate a chart and move it to end of Workbook
    lCol = .Cells(1, Columns.Count).End(xlToLeft).Column
    For i = -1 To lCol - 1 Step pas
        Set ch = ActiveWorkbook.Charts.Add '<~~ add a chart in own new sheet
        ch.ChartType = xl3DArea
        ch.SetSourceData .Range(.Cells(2, i + 2), .Cells(251, i + pas))
        ch.Name = "Chart" & CInt(1 + (i + 2) / pas)
        ch.Move , ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)
        Next

End With

End Sub
次线性图()
Dim pas为整数,val为整数,lCol为整数,i为整数,j为整数,ch为图表
带床单(“罩”)
lCol=.Cells(2,.Columns.Count).End(xlToLeft).Column
val=.Range(“A1”).Value
pas=val+2
行(“2:4”)。选择
选择。删除移位:=xlUp
范围(“A2”)。选择
选择.ClearContents
对于j=2至lCol
单元格(2,j)。值=左(右(左(单元格(1,j),17),5),2)
下一个
'插入空列和列a的副本
对于colx=pas至lCol步骤pas
.Columns(colx).插入移位:=xlToRight
.Columns(colx).插入移位:=xlToRight
.Columns(1).Copy.Columns(colx+1)
下一个
Application.CutCopyMode=False
'为每组列生成一个图表,并将其移动到工作簿的末尾
lCol=.Cells(1,Columns.Count).End(xlToLeft).Column
对于i=-1至lCol-1步骤pas

Set ch=ActiveWorkbook.Charts.Add'返回一个包含指定图表的三维效果格式属性的只读ThreeDFormat对象。(在Excel帮助中)我认为这是不可能的。TreeFormat是只读的。还有其他的机会吗?我已经测试过了,但这是不可能的。我认为vba不支持它。Excel帮助中就是这样编写的。返回一个包含指定图表的三维效果格式属性且为只读的ThreeDFormat对象。(在Excel帮助中)我认为这是不可能的。TreeFormat是只读的。还有其他的机会吗?我已经测试过了,但这是不可能的。我认为vba不支持它。Excel帮助中就是这样写的。
lCol = .Cells(1, Columns.Count).End(xlToLeft).Column
For i = -1 To lCol - 1 Step pas
    Set ch = ActiveWorkbook.Charts.Add '<~~ add a chart in own new sheet
    ch.ChartType = xl3DArea
    ch.SetSourceData .Range(.Cells(2, i + 2), .Cells(251, i + pas))
    ch.Name = "Chart" & CInt(1 + (i + 2) / pas)
    ch.Move , ActiveWorkbook.Sheets(ActiveWorkbook.Sheets.Count)
    Next