VBA Shapeを使って矢印付き線を引く
Shapeを使って線を引くSub test() ' Shapeを使って線を引く Dim rngStart As Range, rngEnd As Range Dim BX As Single, BY As Single, EX As Single, EY As Single ' 線(shape)配置基準セル Set rngStart = Range("B5") Set rngEnd = Range("F5") ' セルのLeft、Top、Widthプロパティを利用して位置特定 BX = rngStart.Left BY = rngStart.Top EX = rngEnd.Left + rngEnd.Width EY = rngEnd.Top ' 直線 ActiveSheet.Shapes.AddLine BX, BY + 10, EX, EY +10End SubSub test2() ' Shapeを使って矢印付き線を引く Dim rngStart As Range, rngEnd As Range Dim BX As Single, BY As Single, EX As Single, EY As Single ' 線(shape)配置基準セル Set rngStart = Range("B5") Set rngEnd = Range("F6") ' セルのLeft、Top、Widthプロパティを利用して位置特定 BX = rngStart.Left BY = rngStart.Top EX = rngEnd.Left + rngEnd.Width EY = rngEnd.Top ' 矢印つき線(赤色・太さ1.5ポイント) With ActiveSheet.Shapes.AddLine(BX, BY + 20, EX, EY + 20).Line .ForeColor.RGB = vbRed .Weight = 1.5 .EndArrowheadStyle = msoArrowheadTriangle End WithEnd Sub実行結果― ― ― ― ― ― ― ― ― ― → Excel VBA基礎入門もくじ へ戻る参考記事『VBA シェイプを一括削除』シェイプを一括削除Sub test() ’ シート上のシェイプを一括削除 ActiveSheet.DrawingObjects.Delete…ameblo.jp『VBA 複数列に数式をまとめて入力』よくある生徒の5科目成績計算用の表ですが、合計点、平均点、順位を一遍に入力する方法を紹介します。複数列に数式をまとめて入力合計点G3に入力する数式 =S…ameblo.jp『VBA 配列数式の入力』配列数式の入力Sub test1() ' 各行の金額 Range("D4:D23") = "=C4*B4" ' 配列数式による…ameblo.jp『VBA セル数式のコピペ』セル数式のコピペ 絶対参照Sub test1()’ セル数式のコピペ Range("D4") = "=C4*B4" ' 絶対参照 D4と同…ameblo.jp『VBA 最終行・列の取得』For文を使う際、最終行を自動取得できたら、毎回いちいち画面で確認必要がなくなります。今日は、最終行・列の自動取得方法を見てみましょう。最終行(.End(x…ameblo.jp『VBA セルに数式を入力・取得』セルに数式を入力するValueプロパティによる設定Sub test1() Range("G3").Value = "=SUM(B3:F3)"…ameblo.jp『VBA 連続データの作成 AutoFillメソッド』連続データの作成 AutoFillメソッド構文Range.AutoFill(Destination, Type)Sub test1() ’ 12ヶ…ameblo.jp『VBA セル選択範囲の変更 Resizeプロパティ』セル選択範囲の変更 Resize構文Range.Resize(RowSize, ColumnSize)日本語訳Rangeオブジェクト. Resize(変…ameblo.jp『VBA セル入力規則の設定(Validation)』セル入力規則の設定(Validation)構文Validation.Add(Type, AlertStyle, Operator, Formula…ameblo.jp