
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で質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) シートが違う2枚のエクセルシートにある数値を別シートにコピーしたい(VBA?) 8 2022/03/31 12:24
- Excel(エクセル) Excel 散布図グラフ 外れ値 セル番地参照方法 4 2022/04/19 18:56
- Excel(エクセル) エクセル VBAでBook モジュールのプロシージァ(コード)に除外シートを設定したい 1 2023/01/11 15:53
- PowerPoint(パワーポイント) ExcelのVBAコードについて教えてください。 3 2022/05/25 14:32
- Visual Basic(VBA) VBAマクロでシートコピーした新シートにコピー元シートとの計算式の入れ方を教えて下さい。 5 2022/11/20 09:48
- Visual Basic(VBA) Excel vbaについて知恵もしくは、コード教えて下さいm(__)m ① 表にあるデータをコピー、 2 2022/09/01 23:57
- Excel(エクセル) エクセルの大きなシートでグラフを見つける 4 2022/07/28 10:07
- Excel(エクセル) エクセル バーコード作成で他のシートを参照するには? 2 2023/05/03 16:57
- Excel(エクセル) エクセルのイベントVBAを複数のシートで動かしたい 1 2022/12/07 16:55
- Excel(エクセル) エクセルVBA 任意のセルの選択時、指定のセルの値を表示 1 2023/04/21 08:13
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Scilabのグラフの凡例
-
Excel VBAでグラフをクリックし...
-
gnuplotで関数を途切れさせるに...
-
グラフの元のデータを消しても...
-
excelで散布図に線を追加したい
-
matlabのy軸を2つ利用したグラ...
-
VBA:グラフに関するある値を取...
-
Excel VBAで、グラフを特定のセ...
-
Excel VBAでのグラフ
-
excelのグラフをLaTexに挿入す...
-
DirectShowでフィルタの削除
-
Edgeでダウンロード状況表示画...
-
vlan internal allocation poli...
-
WindowsからSSHでサーバーにあ...
-
YAHAMA RTXシリーズのコマンド...
-
teratarmでコマンド入力すると...
-
onedriveで同期解除をしたら、...
-
読み取り専用ファイルを上書き...
-
共有しているファイルを削除し...
-
TXTファイルを上書き保存する前...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
グラフの元のデータを消しても...
-
Excel VBAでグラフをクリックし...
-
Excel VBAで、グラフを特定のセ...
-
VBA グラフの存在の判定について
-
論文に載せるグラフを作成したい
-
Webでのグラフ表示を行うには、...
-
【VBA】Excel等高線グラフの...
-
excelのグラフをLaTexに挿入す...
-
excelで散布図に線を追加したい
-
グラフを「似ている」順に並べ...
-
matlabのy軸を2つ利用したグラ...
-
C#のChartで目盛線をグラフの前...
-
JAVAといってもいろいろあるの...
-
c++での3次元グラフの生成
-
JavaScriptでグラフ
-
True WebChart
-
C言語によるハノイの塔のプログ...
-
Excelマクロでグラフの縦軸目盛...
-
DirectShowでフィルタの削除
-
C言語でグラフ作成
おすすめ情報