
お世話になります。
Microsoft Excelでアクティブセル上に円を描くマクロを作る方法を検討しています。
ツール -> マクロ -> 新しいマクロの記録
後にどのような操作をすれば可能でしょうか?
ツール -> マクロ -> 新しいマクロの記録
にアクティブセル上に円を描いて
記録終了
すると、その時に描いた場所にいつも円を描くマクロになってしまいます。
その後にマクロのコードを編集する必要があるのでしょうか?
よい方法をご存知のかたがありましたら、教えてください。
よろしくお願いします。
No.1ベストアンサー
- 回答日時:
マクロのコードを見て下さい。
こんな感じのコードがないですか?
ActiveSheet.Shapes.AddShape(msoShapeOval, x1, y1, r, r).Select
これのx1、y1の位置に入ってる数字が図形の左上のポイントになります。
(円の場合、これを選択したときにでる「□」の左上です)
「マクロの記録」を使った場合、ここにその時の数字がそのまま入ってると思います。
なので、アクティブセルから座標を取得する必要があります。
アクティブセルのどの位置を図形のどの位置に合わせるのか分からないので
ヒント程度に見て下さい。
Dim x As Integer
Dim y As Integer
Dim x1 As Integer
Dim y1 As Integer
x = ActiveCell.Column
y = ActiveCell.Row
x1 = Range(Cells(1, 1), Cells(y, x)).Width
y1 = Range(Cells(1, 1), Cells(y, x)).Height
ActiveSheet.Shapes.AddShape(msoShapeOval, x1, y1, r, r).Select
'「r」には円の半径が入ります。
End Sub
これだとアクティブセルの左下と描きたい図形の左上が一致します。
アクティブセルの座標の取り方については参考URLが分かりやすいと思います。
参考URL:http://www2s.biglobe.ne.jp/~iryo/vba/VBA14b.html
このようにアクティブセルの座標を取得するのですね。
不勉強で、分からない関数がありますが、目的は達成できそうです。
ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) 現在のセルの文字列を右隣のセルの名前にするマクロをつくりたい 4 2023/01/12 09:01
- Excel(エクセル) エクセルのマクロについて教えてください。 1 2022/08/04 13:56
- Excel(エクセル) Excelのマクロについてご教授ください 2 2023/02/25 09:43
- Visual Basic(VBA) エクセルのマクロについて教えてください。 1 2022/10/11 12:55
- Visual Basic(VBA) ExcelのVBAコードについて教えてください。 1 2023/01/23 11:02
- Visual Basic(VBA) エクセルのマクロについて教えてください。 4 2023/07/04 17:58
- その他(ソフトウェア) LDPlayerのマクロの編集方法を知りたい 1 2023/03/04 11:46
- Visual Basic(VBA) 複数セルに〇印をつけるマクロ 4 2022/09/07 05:33
- その他(プログラミング・Web制作) Pythonでexcelのvbaを作成、実行する方法について Pythonで表の自動集計プログラムを 3 2022/07/09 09:58
- Excel(エクセル) VBA ふたつの同じ様式シートのセルをコピーしたい 2 2023/03/08 15:28
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excel VBAでのWorksheet_Change...
-
エクセルで特定の行だけ行削除...
-
EXCELのダイアログシートって、...
-
指定値をマクロで検索&シート移動
-
エクセルで複数のシートのクリ...
-
エクセルファイルを開いた回数...
-
エクセル シート内の一番下のセ...
-
【エクセル】「実行時エラー’10...
-
Excelで数字を入れたら対応する...
-
マクロ1があります。 A1のセル...
-
エクセルVBAで実行中画面を...
-
シートではなくBOOK間で重複し...
-
Excelでセル内の文字をファイル...
-
「元に戻す」キーが働かない
-
Excel VBA で行列計算をさせた...
-
長い時間かかるマクロが実行中...
-
エクセルで、セルにある数字が...
-
Excelのシート上のShapeにイベ...
-
「段」と「行」の違いがよくわ...
-
エクセルで離れた列を選択して...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel VBAでのWorksheet_Change...
-
マクロ1があります。 A1のセル...
-
エクセルで複数のシートのクリ...
-
Excelのシート上のShapeにイベ...
-
Excelで数字を入れたら対応する...
-
【エクセル】フリーワード検索...
-
エクセルで特定の行だけ行削除...
-
エクセルファイルを開いた回数...
-
エクセル シート内の一番下のセ...
-
EXCELのダイアログシートって、...
-
長い時間かかるマクロが実行中...
-
【エクセル】「実行時エラー’10...
-
指定値をマクロで検索&シート移動
-
エクセル:セル内の文字列の最...
-
excel定数の違いについて。xlAu...
-
Excelにて、同じ画像を複数のセ...
-
Excelマクロでブック全体を検索...
-
エクセルでマクロを作りすぎた...
-
エクセルVBAで実行中画面を...
-
シートではなくBOOK間で重複し...
おすすめ情報