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も見ています
-
「環境が人を育てる」って本当?環境によって人格や生き方は本当に変わるのか
環境が人生に与える影響は実際どれほどのものなのか、専門家の田宮由美さんに伺った。
-
excel のセルとセルを線で結ぶ
Excel(エクセル)
-
EXCEL 範囲指定後矢印線を引くマクロの作り方
Excel(エクセル)
-
エクセルで日にちを入力すると矢印が自動的に引かれるとか。
Excel(エクセル)
-
-
4
エクセルVBAで画像を貼り付ける座標設定方法は?
PowerPoint(パワーポイント)
-
5
Excel 画像貼り付けのVBAについて
Excel(エクセル)
-
6
L字の線を描きたい
Excel(エクセル)
-
7
エクセルVBA 図形の選択法は?
Visual Basic(VBA)
-
8
エクセルで同じ数字同士を自動で線で結ぶVBAを教えてください
Excel(エクセル)
-
9
Excel VBA素人です。VBAで図形のセンタリング方法ご教示下さい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelでのコメント表示位置
-
エクセル 足して割る
-
枠に収まらない文字を非表示に...
-
(Excel)数字記入セルの数値の後...
-
投資番組の専門家は どういうと...
-
エクセルで指定したセルのどれ...
-
【エクセル】IF関数 Aまたは...
-
貼り付けで複数セルに貼り付けたい
-
エクセルのセルの枠を超えて文...
-
エクセルvba (ByVal Targ...
-
エクセルでオブジェクトを常に...
-
複数桁の数字を1セルずつ表示...
-
LARGE関数 飛び飛びの範囲を指定
-
エクセル、画像ファイル名の書...
-
セルをクリック⇒そのセルに入力...
-
エクセル、条件を満たしたら音...
-
VBAでセルの上書き禁止出来...
-
Excel2007、修復されたセル...
-
関数EXACT(文字列,文字列)とexc...
-
Excelであるセルの中の数字を2...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセル 足して割る
-
【エクセル】IF関数 Aまたは...
-
エクセルで指定したセルのどれ...
-
Excelで数式内の文字色を一部だ...
-
Excelでのコメント表示位置
-
貼り付けで複数セルに貼り付けたい
-
対象セル内(複数)が埋まった...
-
セルをクリック⇒そのセルに入力...
-
【Excel】 セルの色での判断は...
-
エクセルの一つのセルに複数の...
-
EXCEL VBA セルに既に入...
-
エクセル “13ヶ月”を“1年1ヶ月...
-
エクセル オートフィルタで絞...
-
エクセルのセルの枠を超えて文...
-
excelのCOUNTIF関数で、『範囲=...
-
(Excel)数字記入セルの数値の後...
-
枠に収まらない文字を非表示に...
-
Excel2003 の『コメント』の編...
-
Excel 例A(1+9) のように番地の...
-
複数のセルのいずれかに数字が...
おすすめ情報