非常に単純なExcelマクロをOffice 2013で作成しようとしています。マクロでx軸とy軸のタイトルが付いた折れ線グラフが作成されます。私は "開発者"タブに移動し、 "マクロの記録"を選択します。私は自分のチャートを作成し、すべてがうまく見えます。私は、自動生成されたVBAコードを表示すると、それは次のようになります。Excel 2013自動生成マクロマクロを実行しようとするとVBAコードが機能しない
Sub SimplePlotExample()
Range("A1:B11").Select
ActiveSheet.Shapes.AddChart2(332, xlLineMarkers).Select
ActiveChart.SetSourceData Source:=Range("Sheet1!$A$1:$B$11")
ActiveChart.SetElement (msoElementPrimaryCategoryAxisTitleAdjacentToAxis)
Selection.Caption = "This is my rows title"
ActiveChart.SetElement (msoElementPrimaryValueAxisTitleAdjacentToAxis)
Selection.Caption = "This is my y axis title"
Range("A1").Select
End Sub
問題は、私は、このマクロを実行しようとすると、y軸のタイトルが作成されないということで、代わりにx軸を持っていますy軸のタイトル。私が直接VBAコードに入る場合は、 "Selection.Caption ="これは私のy軸のタイトルです "という行をコメントアウトして、以下のようにコードを手動で置き換えてください。
Sub SimplePlotExample()
Range("A1:B11").Select
ActiveSheet.Shapes.AddChart2(332, xlLineMarkers).Select
ActiveChart.SetSourceData Source:=Range("Sheet1!$A$1:$B$11")
ActiveChart.SetElement (msoElementPrimaryCategoryAxisTitleAdjacentToAxis)
Selection.Caption = "This is my rows title"
ActiveChart.SetElement (msoElementPrimaryValueAxisTitleAdjacentToAxis)
' Add the 2 lines of code below manually to my macro code
ActiveChart.Axes(xlValue, xlPrimary).HasTitle = True
ActiveChart.Axes(xlValue, xlPrimary).AxisTitle.Text = "This is my hand-edited y axis title"
' Selection.Caption = "This is my y axis title" ### This is the auto-generated line commented out
Range("A1").Select
End Sub
私の質問は.....「自動生成された」VBAコードが正しく機能しないのはなぜですか? Excelの過去のバージョンで問題が発生している可能性があることを示す他のスレッドが見つかりました。これもExcel 2013の問題であると推測していますか?私はMicrosoft Office Professional Plus 2013を使用しています。
ありがとう!
Stack Overflowのメリットは、ユーザーが特定の問題を解決し、同じ問題が発生しているユーザーからの質問に結びついて、簡単に貴重な回答を見つけることです。タイトルを検索可能なものに編集してください。 –
^^はい、私は質問を見ました。「うーん、誰かがVBAでExcelマクロを作成することに問題があります。それは奇妙です。何ができないのだろうか」と質問し、それは完全に無関係でした。 – YowE3K