
お世話になります。
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で質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「テキストデータで送ってくだ...
-
Microsoft 365 Basic サブスク...
-
access vbaでフォームを開くと...
-
Accessのクエリで、replace関数...
-
ACCESS VBA でのエラー解決の根...
-
レポートの印刷を一括ではなく...
-
access2021 強制終了してしまう
-
access2021 VBA メソッドまたは...
-
Access Error3061 パラメータが...
-
Access 複数条件検索の設定が上...
-
accessでlaccdbファイルが削除...
-
Accessのクエリの結果を、既存...
-
Accessのスプレッドシートエク...
-
【アクセス】レポート テキスト...
-
Accessで独自メニューバーまた...
-
Excelを開く時と閉じる時に一度...
-
access2021 メッセージボックス...
-
Access フォーム上のテキストボ...
-
Access runtimeでのオプション...
-
access2019の起動が遅い
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Microsoft 365 Basic サブスク...
-
「テキストデータで送ってくだ...
-
ACCESS VBA でのエラー解決の根...
-
Accessのクエリで、replace関数...
-
access2021 強制終了してしまう
-
access2021 VBA メソッドまたは...
-
Access VBA [リモートサーバー...
-
access vbaでフォームを開くと...
-
Accessのクエリの結果を、既存...
-
Access Error3061 パラメータが...
-
Microsoft365にAccessってあり...
-
実行時エラー3131 FROM 句の構...
-
列が255以上のCSVファイルをAcc...
-
Accessのスプレッドシートエク...
-
Access 複数条件検索の設定が上...
-
Accessでレポートを印刷する時...
-
Arduinoで温湿度と時刻を1分ご...
-
accessでlaccdbファイルが削除...
-
Accessでフォームに自動入力し...
-
Accessのリンクテーブルのパス...
おすすめ情報