
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で質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) 複数セルに〇印をつけるマクロ 4 2022/09/07 05:33
- Visual Basic(VBA) 【VBA】写真の縦横比を変えずに貼り付ける 5 2023/06/13 11:42
- Excel(エクセル) VBA オリジナル関数で選択セルの合計を作成したい 3 2023/03/19 19:45
- Excel(エクセル) エクセルVBAで次の二つを行いたいのですが思うように動きません。どう修正したらよいのでしょうか? 2 2023/04/22 14:55
- Visual Basic(VBA) サブフォルダ(データ)にある複数の.xlsxファイルのSheet3のA2セルの値で01から左側をB2 2 2022/08/14 15:46
- Visual Basic(VBA) エクセル365のVBAで困っています。どう修正したらよいか添削をお願いします 2 2023/05/03 17:35
- PowerPoint(パワーポイント) ExcelのVBAコードについて教えてください。 3 2022/05/25 14:32
- Excel(エクセル) エクセルのマクロが途中の行から適用されない 2 2022/07/09 20:25
- Excel(エクセル) エクセルで同じ数字同士を自動で線で結ぶVBAを教えてください 6 2022/04/26 23:13
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
vba テキストボックスとリフト...
-
libreoffice calcで行を挿入し...
-
貼り付けで複数セルに貼り付けたい
-
数式を残したまま、別のセルに...
-
エクセルで指定したセルのどれ...
-
枠に収まらない文字を非表示に...
-
セル番地の入力されているセル...
-
エクセルで名前を名字と氏名に...
-
エクセルで Aならば1. Bならば2...
-
【マクロ】アクティブセルの2...
-
Excelについての質問です 並べ...
-
生化学分野 分光学 ランベル...
-
excelで日付関数の文字列変換の...
-
セルをクリック⇒そのセルに入力...
-
excelの特定のセルの隣のセル指...
-
ペイントから切取って、エクセ...
-
Excel2012の関数について
-
エクセルで、複数の参照範囲を...
-
Excel マクロについて!! 添付...
-
Excelでのコメント表示位置
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelについての質問です 並べ...
-
【マクロ】アクティブセルの2...
-
スプレッドシートで複数のプル...
-
excelで日付関数の文字列変換の...
-
エクセルで指定したセルのどれ...
-
貼り付けで複数セルに貼り付けたい
-
枠に収まらない文字を非表示に...
-
セルをクリック⇒そのセルに入力...
-
エクセルの一つのセルに複数の...
-
数式を残したまま、別のセルに...
-
(Excel)数字記入セルの数値の後...
-
Excel 例A(1+9) のように番地の...
-
対象セル内(複数)が埋まった...
-
エクセルの書式設定の表示形式...
-
EXCEL VBA セルに既に入...
-
excelの特定のセルの隣のセル指...
-
エクセルのセルの枠を超えて文...
-
Excelでのコメント表示位置
-
エクセル オートフィルタで絞...
-
Excelで数式内の文字色を一部だ...
おすすめ情報