[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『図形がくっついてしまう』(ss)
Excel2013
Windows7
図形で四角と直線を書いて、
直線の端点を編集で、四角の近くに持っていくと、
四角の4辺に小さな点が表示されて、直線がその点にくっついてしまいます。
(丸やその他の図形でも同じ)
細かい図面を書こうとすると、この機能が逆にジャマになってしまうのですが、
このお節介を止める方法が分かりません。
オプション当たりにあるかと思いましたが、見あたらないようです。
どなたか、おわかりの方はいらっしゃいますでしょうか?
設定は描画ツールの「配置」→「図形に位置を合わせる」がONになっているのではないでしょうか? そうなら、OFFにしてください。 [Alt]キーを押しながら操作すれば解除された動作になります。 (Hatch)
「図形を位置に合わせる」がONでもOFFでも、くっつきます。
「Alt」キーを押しながら操作すると、今度はグリッドにくっついてしまうので、これも困ります。
(あすなろ)
標準モジュールに
Private shrng As ShapeRange
Sub シェイプの移動() 'アクチィブセル付近にボタンが作られる。
Dim rtop As Long
Dim rlft As Long
rtop = ActiveCell.Top rlft = ActiveCell.Left Call ボタンの削除 With ActiveSheet With .Buttons.Add(10 + rlft, 10 + rtop, 110, 35) 'Left:=10, Top:=10, Width:=110, Height:=35 .Name = "仮ボタン1" .Caption = "図を選択後" & vbNewLine & "押して下さい!" .OnAction = "アクション" End With With .Buttons.Add(125 + rlft, 10 + rtop, 70, 20) .Name = "仮ボタン2" .Caption = "終了!" .OnAction = "ボタンの削除" End With With .Buttons.Add(10 + rlft, 50 + rtop, 110, 35) .Name = "仮ボタン3" '.Caption = "移動レベルを↑↓で" & vbNewLine & "選択後押して下さい!" .OnAction = "アクション" .Visible = False End With With .Buttons.Add(150 + rlft, 35 + rtop, 20, 20) .Name = "仮ボタン4" .Caption = "↑" .OnAction = "アクション" .Visible = False End With With .Buttons.Add(150 + rlft, 65 + rtop, 20, 20) .Name = "仮ボタン5" .Caption = "↓" .OnAction = "アクション" .Visible = False End With With .Buttons.Add(125 + rlft, 50 + rtop, 20, 20) .Name = "仮ボタン6" '.Caption = "→" .OnAction = "アクション" .Visible = False End With With .Buttons.Add(175 + rlft, 50 + rtop, 20, 20) .Name = "仮ボタン7" .Caption = "→" .OnAction = "アクション" .Visible = False End With End With End Sub Sub ボタンの削除() Dim i As Long With ActiveSheet On Error Resume Next For i = 1 To 7 .Buttons("仮ボタン" & i).Delete Next i On Error GoTo 0 End With Set shrng = Nothing End Sub Sub アクション() Dim i As Long Dim sv With ActiveSheet sv = Split(.Buttons("仮ボタン3").Caption, vbNewLine) Select Case Right(.Buttons(Application.Caller).Name, 1) Case 1 If Not VarType(Selection) = vbObject Then .Buttons("仮ボタン1").Caption = "図を選択後" & vbNewLine & "押して下さい!" Set shrng = Nothing For i = 3 To 7 .Buttons("仮ボタン" & i).Visible = False Next i MsgBox "図を選択して下さい": Exit Sub End If Set shrng = Selection.ShapeRange For i = 3 To 6 .Buttons("仮ボタン" & i).Visible = True Next i .Buttons("仮ボタン1").Caption = Selection.ShapeRange.Count & " 個を選択中" .Buttons("仮ボタン3").Caption = "移動レベルを↑↓で" & vbNewLine & "選択後押して下さい!" .Buttons("仮ボタン6").Caption = "1" ActiveCell.Activate Case 2 .Buttons("仮ボタン3").Caption = "移動レベルは" & vbNewLine & 1 Case 3 If .Buttons("仮ボタン3").Caption = "移動レベルを↑↓で" & vbNewLine & "選択後押して下さい!" Then .Buttons("仮ボタン3").Caption = "移動レベルは" & vbNewLine & .Buttons("仮ボタン6").Caption .Buttons("仮ボタン6").Caption = "←" .Buttons("仮ボタン7").Visible = True Else .Buttons("仮ボタン7").Visible = False .Buttons("仮ボタン6").Caption = 1 .Buttons("仮ボタン3").Caption = "移動レベルを↑↓で" & vbNewLine & "選択後押して下さい!" End If Case 4 If Right(sv(1), 1) = "!" Then .Buttons("仮ボタン6").Caption = .Buttons("仮ボタン6").Caption + 1 Else shrng.IncrementTop sv(1) * -0.75 End If Case 5 If Right(sv(1), 1) = "!" Then .Buttons("仮ボタン6").Caption = IIf(.Buttons("仮ボタン6").Caption - 1 < 1, 1, .Buttons("仮ボタン6").Caption - 1) Else shrng.IncrementTop sv(1) * 0.75 End If Case 6 If Right(sv(1), 1) <> "!" Then shrng.IncrementLeft sv(1) * -0.75 End If Case 7 If Right(sv(1), 1) <> "!" Then shrng.IncrementLeft sv(1) * 0.75 End If End Select End With End Sub (初)
1.「枠線に合わせる」をONにします。
2.「図形を位置に合わせる」をOFFにします。
3.図形描画(たとえば直線)を選び、Altを押しながら描画開始位置にマウスを合わせ、左クリックを押します。
4.そのままAltキーを押しながら次に、合わせたい位置にマウスを合わせ、左クリックで描画完了です。
5.Altキーを押しながら、同時にシフトキーも押しながらマウスを動かせば、終点側の位置決めを水平・垂直・45度合わせで吸着されずにできます。
これで、Altを押しながらで自由に位置決めでき、グリッドに合わせたければAltを離す、という使い方ができるかと思います。
このやり方の唯一の欠点は、グリッドとテキストボックスなどが近い位置で、グリッドに合わせるという使い方をする場合は、ズームを400%にしないとテキストボックス側に吸着してしまうくらいかと思います。
(こっすぃ〜♪) 2014/05/23(金) 22:17
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.