
No.3ベストアンサー
- 回答日時:
#2です。
「アクティブなChartObjectsのナンバーを取得する方法」はなかなか複雑になります。。。。
前提として以下のことを知っておいたほうがよいと思うので記入します。
【前提】
グラフには2種類のオブジェクトが存在します。
今回使用した「ChartObject」と「Chart」です。
違いは「埋め込みグラフ専用」か「シート&埋め込み両用」かの違いです。
またそれとは別に現在選択中のグラフを取得する方法として「ActiveChart」がありますが、これは「Chart」を戻り値とします。
以上の前提を踏まえて「アクティブなChartObjectsのナンバーを取得する方法」について記入します。
【取得方法】
Dim i As Long
Dim lngGetIndex As Long
'初期化
lngGetIndex = -1
'埋め込みグラフを繰り返しチェックし、アクティブグラフかどうかを判別
For i = 1 To ActiveSheet.ChartObjects.Count
'同一オブジェクトの場合はインデックスを取得して処理を抜ける
If ActiveSheet.ChartObjects(i).Chart Is ActiveChart Then
lngGetIndex = i
Exit For
End If
Next
一応以上の方法でアクティブなグラフのインデックスを「lngGetIndex」に取得できます。
(未選択の場合は「-1」が「lngGetIndex」に設定されています)
度々のお返事ありがとうございます。
非常に丁寧に回答して頂いたおかげで、たいへん勉強になりました。なにぶん初心者なもので、また質問することがあると思いますが、よろしくお願いします。本当にありがとうございました。
No.2
- 回答日時:
シート内にグラフが1つしかないなら
ActiveSheet.ChartObjects(1).Left = ActiveSheet.Range("B4").Left
ActiveSheet.ChartObjects(1).Top = ActiveSheet.Range("B4").Top
でできます。
複数ある場合は「ChartObjects(1)」の部分を「ChartObjects(2)」とかにしてやります。
返事が遅くなって申し訳ありません。
アドバイス通りに記述して、動作することを確認しました。ありがとうございました。
もしお手数でなければ、アクティブなChartObjectsのナンバーを取得する方法を教えていただけないでしょうか?よろしくお願いします。
No.1
- 回答日時:
これで出来ると思われ
Private Sub CommandButton1_Click()
With ChartObjects.Item(1)
.Left = Range("b4").Left
.Top = Range("b4").Top
End With
End Sub
お返事ありがとうございます。
アドバイス通り試してみたのですがエラー(変数が定義されていません)がでます。
一応、以下の様に記述して目的とする結果が得られたのですが、もっと簡単に記述できないものでしょうか?
Dim myChartName
myChartName = ActiveChart.Name
myChartName = Mid$(myChartName, InStr(myChartName, "グラフ"))
ActiveSheet.Shapes(myChartName).Cut
Range("B4").Select
ActiveSheet.Paste
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
Excel VBAでグラフを移動させるマクロを作りたいのですが
Visual Basic(VBA)
-
エクセルVBA 画像を貼り付けるセル位置を指定する方法
Excel(エクセル)
-
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
-
4
Excel VBA グラフを任意sheetに移動させるには?
Visual Basic(VBA)
-
5
グラフの元のデータを消してもグラフの表示を残す方法
Visual Basic(VBA)
-
6
Cellsのかっこの中はどっちが行と列なの?
Visual Basic(VBA)
-
7
エクセルvbaでの図形のカット(コピー)ペーストについて
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
excelで散布図に線を追加したい
-
グラフの元のデータを消しても...
-
DirectShowでフィルタの削除
-
Excel VBAで、グラフを特定のセ...
-
WindowsからSSHでサーバーにあ...
-
vlan internal allocation poli...
-
Excel VBAで作成したマクロをxl...
-
onedriveで同期解除をしたら、...
-
expectでコマンド実行結果を変...
-
teratarmでコマンド入力すると...
-
USBデータの消失
-
1つのフォルダには何個までのフ...
-
TXTファイルを上書き保存する前...
-
フォルダの上書きで、上書きさ...
-
エクセルでファイルの最終更新...
-
VB.NETで他のEXEを実行させる
-
共有しているファイルを削除し...
-
ファイルパスのチルダの意味
-
Batファイルでxcopyを実行する...
-
沢山のフォルダにあるファイル...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBAでグラフをクリックし...
-
グラフの元のデータを消しても...
-
excelのグラフをLaTexに挿入す...
-
matlabのy軸を2つ利用したグラ...
-
【VBA】Excel等高線グラフの...
-
Matlabによる複素数・・・
-
論文に載せるグラフを作成したい
-
C#のChartで目盛線をグラフの前...
-
C言語でグラフ作成
-
ホームページ上で動的にグラフ...
-
Excel VBAで、グラフを特定のセ...
-
Scilabのグラフの凡例
-
[VBA]グラフを作りたいです!(...
-
C# PictureBox + panelでのスク...
-
統計ソフトRを使った最適化
-
Excelマクロでグラフの縦軸目盛...
-
VBA グラフの存在の判定について
-
Excel VBAでグラフ作成。A,C列...
-
Excel VBAでのグラフ
-
c言語 正負の値それぞれでの最...
おすすめ情報