
No.1ベストアンサー
- 回答日時:
横方向のみですが、
Sub Test()
Dim TP, LF, WD
TP = Selection.Top + (Selection.Height / 2)
LF = Selection.Left
WD = Selection.Width
ActiveSheet.Shapes.AddShape(msoShapeOval, LF, TP - 3, 6, 6).Select
ActiveSheet.Shapes.AddLine(LF + 6, TP, LF + WD, TP).Select
Selection.ShapeRange.Line.EndArrowheadStyle = msoArrowheadTriangle
End Sub
この回答へのお礼
お礼日時:2005/07/26 14:32
解決です。完璧です。ありがとうございました。
ここ1ヶ月間悶々と悩んでいたのです。
このVBAの記述内容が理解できるように精進いたします。
No.2
- 回答日時:
こんにちは。
選択範囲の始点列中央から終点列中央へ、
選択範囲の縦中央を通り、始点が白丸の矢印を作成します。
○の直径は、選択範囲の第1行の高さに係数を掛けています。
その他 細かい点は、「マクロの記録」を参考にご自分でカスタマイズしてください。
またマクロの登録方法もお任せします。
Sub Macro1()
Dim rRng As Range
Dim X(1) As Single
Dim Y As Single
Dim D As Single
Dim shpRef(1) As Shape
Dim iColor As Long
Dim i As Long
On Error Resume Next
Set rRng = Selection
If Err Then Exit Sub
On Error GoTo 0
iColor = 8 '色
With rRng
With .Rows(1)
D = .Height * 0.75 '丸の直径 係数
End With
If .Columns.Count = 1 Then Exit Sub
With .Columns(1)
X(0) = .Left + .Width / 2
End With
With .Columns(.Columns.Count)
X(1) = .Left + .Width / 2
End With
Y = .Top + .Height / 2
End With
With ActiveSheet.Shapes
Set shpRef(0) = .AddLine(X(0) + D / 2, Y, X(1), Y)
Set shpRef(1) = .AddShape(msoShapeOval, X(0), Y, D, D)
With shpRef(1)
.Top = .Top - .Height / 2
.Left = .Left - .Width / 2
End With
End With
For i = 0 To 1
With shpRef(i)
.Fill.Visible = msoFalse
.Line.Weight = 1#
.Line.DashStyle = msoLineSolid
.Line.Style = msoLineSingle
.Line.Transparency = 0#
.Line.Visible = msoTrue
.Line.ForeColor.SchemeColor = iColor
.Visible = msoCTrue
End With
Next
With shpRef(0).Line
.EndArrowheadStyle = msoArrowheadTriangle
.EndArrowheadLength = msoArrowheadLengthMedium
.EndArrowheadWidth = msoArrowheadWidthMedium
End With
ActiveSheet.Shapes.Range(Array(shpRef(0).Name, shpRef(1).Name)).Select
With Selection.ShapeRange
.Group.Select
.LockAspectRatio = msoTrue
End With
rRng.Select
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
特定のPCだけ動作しないVBAマク...
-
エクセルで特定の列が0表示の場...
-
一つのTeratermのマクロで複数...
-
ExcelVBAでPDFを閉じるソース
-
Excelのセル値に基づいて図形の...
-
エクセルに張り付けた写真のフ...
-
UWLSの記録でマクロを作成し使...
-
Excel_マクロ_現在開いているシ...
-
TERA TERMを隠す方法
-
Excel マクロでShearePoint先の...
-
エクセルのマクロをセルの値に...
-
ExcelのVBA。public変数の値が...
-
メッセージボックスのOKボタ...
-
Excel マクロ VBA プロシー...
-
[初心者です]VBAで指定列か...
-
Excel・Word リサーチ機能を無...
-
エクセルで縦に並んだデータを...
-
Accessのマクロで使用されてい...
-
【Excel】複数のマクロをまとめ...
-
マクロを使って結合セルに丸を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで特定の列が0表示の場...
-
特定のPCだけ動作しないVBAマク...
-
メッセージボックスのOKボタ...
-
Excel_マクロ_現在開いているシ...
-
一つのTeratermのマクロで複数...
-
マクロの連続印刷が突然不可能...
-
ExcelのVBA。public変数の値が...
-
Excel マクロ VBA プロシー...
-
Excel・Word リサーチ機能を無...
-
エクセルに張り付けた写真のフ...
-
Excelのセル値に基づいて図形の...
-
TERA TERMを隠す方法
-
マクロ実行時エラー
-
ExcelVBAでPDFを閉じるソース
-
wordを起動した際に特定のペー...
-
特定文字のある行の前に空白行...
-
Excel マクロでShearePoint先の...
-
エクセルで縦に並んだデータを...
-
マクロ実行時、ユーザーフォー...
-
ソース内の行末に\\
おすすめ情報