
VBA 選択した複数のセルにオートシェイプ(矢印)挿入について
選択したセルに無印挿入まではできたのですが複数選択したセルにはどのようにすればいいのでしょうか?
下記コードだと1つ目の選択したセルにしか挿入できません。
すみませんがご教示下さい。
Sub 計画()
Dim R As Range
Set R = Selection
With ActiveSheet.Shapes.AddLine(R.Left, R.Top + R.Height / 2, R.Left + R.Width, R.Top + R.Height / 2).Line
.ForeColor.RGB = RGB(0, 0, 0)
.Style = 1
.BeginArrowheadStyle = 1
.EndArrowheadStyle = 3
.Weight = 1
.DashStyle = msoLineDash
End With
End Sub
No.4ベストアンサー
- 回答日時:
面白いもの作ってますね。
わたしも使いたいです。Sub 計画()
Dim R As Range
For Each R In Selection.Rows
With ActiveSheet.Shapes.AddLine(R.Left, R.Top + R.Height / 2, R.Left + R.Width, R.Top + R.Height / 2).Line
.ForeColor.RGB = RGB(0, 0, 0)
.Style = 1
.BeginArrowheadStyle = 1
.EndArrowheadStyle = 3
.Weight = 1
.DashStyle = msoLineDash
End With
Next R
End Sub
No.3
- 回答日時:
No.1です。
あぁ~~~
そういうコトだったのですね。
↓のコードにしてみてください。
Sub Sample2()
Dim k As Long
Dim myRng As Range
Dim c As Range, r As Range
For k = 1 To Selection.Areas.Count
Set myRng = Selection.Areas(k)
Set c = myRng(1)
Set r = myRng(myRng.Count)
With ActiveSheet.Shapes.AddLine(c.Left, c.Top + c.Height / 2, r.Left + r.Width, r.Top + r.Height / 2).Line
.ForeColor.RGB = RGB(0, 0, 0)
.Style = 1
.EndArrowheadStyle = 3
.Weight = 1
.DashStyle = msoLineDash
End With
Next k
End Sub
※ 一つの選択範囲が複数行になっていると
左上から右下への斜めの矢印になってしまいます。m(_ _)m
No.1
- 回答日時:
こんばんは!
>複数選択したセルにはどのようにすればいいのでしょうか?
とは複数行選択した場合はすべての行に矢印を挿入したい!というコトでしょうか?
それとも選択した範囲の左上から右下への斜めの矢印を挿入したい!というコトでしょうか?
とりあえず、すべての行としてみました。
Sub Sample1()
Dim i As Long
Dim c As Range, r As Range
For i = Selection(1).Row To Selection(Selection.Count).Row
Set c = Cells(i, Selection(1).Column)
Set r = Cells(i, Selection(Selection.Count).Column)
With ActiveSheet.Shapes.AddLine(c.Left, c.Top + c.Height / 2, r.Left + r.Width, r.Top + r.Height / 2).Line
.ForeColor.RGB = RGB(0, 0, 0)
.Style = 1
.EndArrowheadStyle = 3
.Weight = 1
.DashStyle = msoLineDash
End With
Next i
End Sub
こんな感じではどうでしょうか?m(_ _)m
回答ありがとうございます!
>複数行選択した場合はすべての行に矢印を挿入したい!
全ての行ではなく例えば
A3~D3選択+B4~E4選択した状態で
マクロを起動するとその範囲だけ列に平行に矢印が挿入するようにしたいです!
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
vba テキストボックスとリフト...
-
エクセルで指定したセルのどれ...
-
貼り付けで複数セルに貼り付けたい
-
エクセル オートフィルタで絞...
-
セルをクリック⇒そのセルに入力...
-
Excel for Mac使用中ポインタが...
-
エクセルの書式設定の表示形式...
-
対象セル内(複数)が埋まった...
-
EXCEL VBA セルに既に入...
-
エクセルのセルの枠を超えて文...
-
Excel 例A(1+9) のように番地の...
-
Excelで住所を2つ(町名迄と番...
-
Excelで数式内の文字色を一部だ...
-
(Excel)数字記入セルの数値の後...
-
数式を残したまま、別のセルに...
-
【エクセル】IF関数 Aまたは...
-
EXCELのセルの中の半角カンマの...
-
エクセル “13ヶ月”を“1年1ヶ月...
-
枠に収まらない文字を非表示に...
-
文字列として"(ダブルコーテー...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
vba テキストボックスとリフト...
-
貼り付けで複数セルに貼り付けたい
-
エクセルで指定したセルのどれ...
-
枠に収まらない文字を非表示に...
-
セルをクリック⇒そのセルに入力...
-
エクセル
-
数式を残したまま、別のセルに...
-
(Excel)数字記入セルの数値の後...
-
エクセル オートフィルタで絞...
-
エクセルの書式設定の表示形式...
-
Excel 例A(1+9) のように番地の...
-
エクセルの一つのセルに複数の...
-
excelの特定のセルの隣のセル指...
-
EXCEL VBA セルに既に入...
-
Excelでのコメント表示位置
-
エクセルのセルの枠を超えて文...
-
【エクセル】IF関数 Aまたは...
-
対象セル内(複数)が埋まった...
-
Excelで数式内の文字色を一部だ...
-
【Excel】 セルの色での判断は...
おすすめ情報