No.1ベストアンサー
- 回答日時:
>with cells でcellsを省いていると同時に(つまりwithとend withの間で)
同時にということは考えたことがありませんね。
>定数として Shape型を宣言する
定数?意味がよく分かりませんね。オブジェクトは定数にはなりませんから、Class で、インスタンスを生成させるという意味ですか?それをやっても、作りは面倒だと思います。
>それを変数に格納するしかないのでしょうか。
それが一般的でしょうね。まあ、人によっては別の方法があるかもしれませんが、種を明かすと、それが意外に姑息な手段だったりします。
一般的なコードのSample 書いてみましょうか?
こういうものは、主に、標準モジュールで書かれます。それは、親オブジェクトが、Activesheetだからです。
'//
Sub test_AddShape()
Dim x1 As Double, x2 As Double, y1 As Double, y2 As Double
Dim aWidth As Double, aHight As Double
Dim aShp As Shape
With Range("c2") '慣例で、1個の場合はCells プロパティにはしません。
x1 = .Left
y1 = .Top
End With
With Range("j5")
x2 = .Offset(1, 1).Left
y2 = .Offset(1, 1).Top
End With
aWidth = x2 - x1
aHight = y2 - y1
Set aShp = ActiveSheet.Shapes.AddShape(msoShapeRectangle, x1, y1, aWidth, aHight)
With aShp
.DrawingObject.ShapeRange.Fill.Visible = msoFalse '塗りつぶしなし
.DrawingObject.ShapeRange.Line.ForeColor.SchemeColor = 10 '色は赤
End With
End Sub
'///
ご返答ありがとうございます。
変数で使われる型は定数の宣言時にも使えるのかなと思っていましたがそうではないのですね。
>それが一般的でしょうね。
無理に省略しようとしても一時しのぎの手ということになるのですね。アドバイスに従い、自分には変数に格納するという普遍的に通用する方法がよいと思えました。
>こういうものは、主に、標準モジュールで書かれます。それは、親オブジェクトが、Activesheetだからです。
丁寧にありがとうございます。確かに自分のレベルだとシートの方と間違えがちです。質問文からそこまで読み取るというのはさすがです。
サンプルにも細かく解説が加えられていてわかりやすかったです。未熟故に正直なところ、時折提示してもらったサンプルの理解に時間がかかったりするのですが、今回ご提示いただいたものは自分の理解の及ぶ範囲でした。
丁寧にご教授いただき感謝します。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) マクロで最終行を取得したい 4 2023/05/28 12:14
- Visual Basic(VBA) ExcelVBAで、型が一致しませんのエラーについて 3 2023/06/20 09:51
- Visual Basic(VBA) ユーザーフォーム「frm_基本❶」を立ち上げると新規で入力する行数を右下のNoとして表示しています。 1 2023/03/16 19:02
- Visual Basic(VBA) フレーム内のオプションボタンの選択結果をセルに書き出したい。 図のような預金種目というフレームにオプ 2 2022/07/29 11:12
- Visual Basic(VBA) 最終列の右へSUM関数を作成するため下記コードを実行しましたが、最終列「10月28日」が上書きされて 3 2022/12/05 20:32
- Visual Basic(VBA) 改行ごとに行を追加し、数量を分割 4 2023/07/11 16:39
- Visual Basic(VBA) エクセルVBA ダブルクリックしたら色反転を指定したセルのみにしたい 2 2022/04/06 12:52
- Visual Basic(VBA) 追記する列を増やしたい 2つのデータを検索・照合して元データにないデータを下記マクロで商品名を追記し 9 2022/10/05 10:50
- Visual Basic(VBA) Sheet3から2つの条件でオートフィルターで抽出した個数をSheet2へ入力するマクロで、一つ目の 4 2023/01/12 23:40
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
May I ask you where you call ...
-
「多くの方々」と「多くの方」...
-
職業名
-
『50歳の誕生日おめでとう』を...
-
call homeとは何でしょうか?
-
Creampieは何故クリームパイで...
-
英語で「30歳の誕生日おめでと...
-
外国人が箇条書きする際、先頭...
-
数学に関して
-
「ポジション」と「ポディショ...
-
ある会合の、「第1回」、「第2...
-
must notに、「~のはずがない...
-
ビジネス英語メールで、 ...
-
I'm going to go to… と言わな...
-
コンマの後のアルファベットは...
-
単位の何本とかってなんて訳せ...
-
英語にしてください!5文で犬派...
-
Friend と Friend...
-
agree withとagree that
-
「為参考」とは?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ゴールデンウィークの略は?GW...
-
「多くの方々」と「多くの方」...
-
高3春のスタサポ αなのに、英語...
-
Creampieは何故クリームパイで...
-
メールの「様、」←様の後の句読...
-
『50歳の誕生日おめでとう』を...
-
単位の何本とかってなんて訳せ...
-
外国人が箇条書きする際、先頭...
-
ご縁を外国語で言うと?
-
章立ては、部、章、節、項、だ...
-
数学に関して
-
英語で「30歳の誕生日おめでと...
-
revert
-
ある会合の、「第1回」、「第2...
-
must notに、「~のはずがない...
-
good dayに対してなんと返すの...
-
半角のφ
-
「ポジション」と「ポディショ...
-
赤ちゃんの百日祝い 英語で何...
-
『あなたがいつも幸せの中にい...
おすすめ情報