|
▼Jaka さん 回答ありがとうございます。
私の期待通りうまくいきました。
実は、このグラフをビットマップとしてコピーペイストする必要もありまして、
さらに、グラフをコピペするまでのマクロを記録したものが以下のコードです。
(割愛するとかえって不明点が発生するので全部貼ります)
そうしたところ、今度は("Picture 1242")が含まれるコードとなり、先ほどのグラフを同じように、
マクロの記録ではうまくいかない問題が発生してしまいました。
同じ構文であれば自分で対処するのですが、ちょっと違うので困ってます。
何度も恐縮ですが、お力を貸してください。
Sub Macro733()
Range("BB9:CF11").Select
Charts.Add
ActiveChart.ChartType = xl3DColumnStacked
ActiveChart.SetSourceData Source:=Sheets("新表").Range("BB9:CF11"), PlotBy:= _
xlRows
ActiveChart.Location Where:=xlLocationAsObject, Name:="gurafu"
With ActiveChart
.HasAxis(xlCategory) = True
.HasAxis(xlSeries) = False
.HasAxis(xlValue) = True
End With
ActiveChart.Axes(xlCategory).CategoryType = xlAutomatic
ActiveChart.Walls.Select
With ActiveChart
.Elevation = 15
.Perspective = 30
.Rotation = 20
.RightAngleAxes = True
.HeightPercent = 100
.AutoScaling = True
'グラフの名前”グラフ 99”の1文字目からスペースの次の文字の位置を探して、その位置以降の数字を読み取る
acn = Mid(.Name, InStr(1, .Name, " ") + 1)
End With
ActiveSheet.Shapes(acn).Name = "作ったグラフ"
Selection.ClearFormats
ActiveChart.Axes(xlValue).MajorGridlines.Select
Selection.Delete
ActiveChart.Axes(xlValue).Select
Selection.Delete
ActiveChart.Axes(xlCategory).Select
Selection.Delete
ActiveChart.Floor.Select
Selection.ClearFormats
ActiveChart.Walls.Select
ActiveChart.ChartArea.Select
With Selection.Border
.Weight = 2
.LineStyle = 0
End With
Selection.Interior.ColorIndex = xlNone
Sheets("gurafu").DrawingObjects("作ったグラフ").RoundedCorners = False
Sheets("gurafu").DrawingObjects("作ったグラフ").Shadow = False
ActiveChart.Walls.Select
ActiveWindow.Visible = False
Windows("登録台帳.xls").Activate
Range("G11").Select
ActiveSheet.ChartObjects("作ったグラフ").Activate
ActiveChart.Walls.Select
ActiveChart.PlotArea.Select
ActiveChart.ChartArea.Select
ActiveSheet.Shapes("作ったグラフ").IncrementLeft -208.5
ActiveSheet.Shapes("作ったグラフ").IncrementTop -167.25
ActiveSheet.Shapes("作ったグラフ").ScaleWidth 1.69, msoFalse, msoScaleFromTopLeft
ActiveChart.Legend.Select
Selection.Delete
Windows("登録台帳.xls").SmallScroll ToRight:=23
ActiveChart.Walls.Select
ActiveChart.PlotArea.Select
ActiveWindow.Visible = False
Windows("登録台帳.xls").Activate
Range("AS6").Select
ActiveSheet.ChartObjects("作ったグラフ").Activate
ActiveChart.SeriesCollection(3).Select
ActiveChart.Floor.Select
ActiveChart.PlotArea.Select
ActiveChart.ChartArea.Select
ActiveWindow.Visible = False
Windows("登録台帳.xls").Activate
Range("AS29").Select
ActiveSheet.ChartObjects("作ったグラフ").Activate
ActiveChart.Floor.Select
Windows("登録台帳.xls").LargeScroll ToRight:=-1
ActiveWindow.Visible = False
Windows("登録台帳.xls").Activate
Range("L3").Select
ActiveSheet.ChartObjects("作ったグラフ").Activate
ActiveChart.SeriesCollection(3).Select
Windows("登録台帳.xls").SmallScroll ToRight:=10
ActiveChart.SeriesCollection(3).Points(1).Select
ActiveChart.SeriesCollection(3).Points(2).Select
ActiveChart.SeriesCollection(3).Points(3).Select
ActiveChart.SeriesCollection(3).Points(4).Select
ActiveChart.SeriesCollection(3).Points(5).Select
ActiveChart.SeriesCollection(3).Points(6).Select
ActiveChart.SeriesCollection(3).Points(7).Select
ActiveChart.SeriesCollection(3).Points(8).Select
ActiveChart.SeriesCollection(3).Points(9).Select
ActiveChart.SeriesCollection(3).Points(10).Select
ActiveChart.SeriesCollection(3).Points(11).Select
ActiveChart.SeriesCollection(3).Points(12).Select
ActiveChart.SeriesCollection(3).Points(13).Select
ActiveChart.SeriesCollection(3).Points(14).Select
ActiveChart.SeriesCollection(3).Points(15).Select
ActiveChart.SeriesCollection(3).Points(16).Select
ActiveChart.ChartArea.Select
ActiveChart.PlotArea.Select
ActiveChart.Floor.Select
ActiveChart.Walls.Select
ActiveChart.Corners.Select
ActiveChart.SeriesCollection(1).Select
ActiveChart.SeriesCollection(1).Points(1).Select
ActiveChart.SeriesCollection(1).Points(2).Select
ActiveChart.SeriesCollection(1).Points(3).Select
ActiveChart.SeriesCollection(1).Points(4).Select
ActiveChart.SeriesCollection(1).Points(5).Select
ActiveChart.SeriesCollection(1).Points(6).Select
ActiveChart.SeriesCollection(1).Points(7).Select
ActiveChart.SeriesCollection(1).Points(8).Select
ActiveChart.SeriesCollection(1).Points(9).Select
ActiveChart.SeriesCollection(1).Points(10).Select
ActiveChart.SeriesCollection(1).Points(11).Select
ActiveChart.SeriesCollection(1).Points(12).Select
ActiveChart.SeriesCollection(1).Points(13).Select
ActiveChart.SeriesCollection(1).Points(14).Select
ActiveChart.PlotArea.Select
ActiveWindow.Visible = False
Windows("登録台帳.xls").Activate
Range("AS28").Select
ActiveSheet.ChartObjects("作ったグラフ").Activate
ActiveChart.Floor.Select
ActiveChart.PlotArea.Select
ActiveChart.ChartArea.Select
ActiveSheet.Shapes("作ったグラフ").IncrementLeft 476.25
ActiveSheet.Shapes("作ったグラフ").IncrementTop -22.5
ActiveSheet.Shapes("作ったグラフ").IncrementLeft 986.25
ActiveSheet.Shapes("作ったグラフ").IncrementTop -12#
Windows("登録台帳.xls").SmallScroll ToRight:=13
ActiveChart.PlotArea.Select
ActiveChart.ChartArea.Select
ActiveSheet.Shapes("作ったグラフ").IncrementLeft 210#
ActiveSheet.Shapes("作ったグラフ").IncrementTop -12#
ActiveChart.CopyPicture Appearance:=xlScreen, Size:=xlScreen, Format:= _
xlBitmap
Windows("登録台帳.xls").LargeScroll ToRight:=-1
ActiveWindow.Visible = False
Windows("登録台帳.xls").Activate
Range("M6:M9").Select
ActiveSheet.Paste
Selection.ShapeRange.ScaleHeight 0.15, msoFalse, msoScaleFromTopLeft
Range("G9").Select
ActiveWindow.SmallScroll ToRight:=8
ActiveSheet.Shapes("Picture 1242").Select
Selection.ShapeRange.ScaleWidth 1.04, msoFalse, msoScaleFromBottomRight
Selection.ShapeRange.ScaleWidth 1.01, msoFalse, msoScaleFromBottomRight
Selection.ShapeRange.ScaleWidth 0.99, msoFalse, msoScaleFromTopLeft
Selection.ShapeRange.ScaleWidth 0.99, msoFalse, msoScaleFromTopLeft
Selection.ShapeRange.IncrementTop 1.5
Selection.ShapeRange.IncrementTop 1.5
Selection.ShapeRange.IncrementTop 2.25
Selection.ShapeRange.IncrementTop 1.5
Range("AT2").Select
ActiveSheet.Shapes("Picture 1242").Select
Selection.ShapeRange.PictureFormat.TransparentBackground = msoTrue
Selection.ShapeRange.PictureFormat.TransparencyColor = RGB(255, 255, 255)
Selection.ShapeRange.Fill.Visible = msoFalse
Range("AT2").Select
End Sub
|
|