No.2ベストアンサー
- 回答日時:
補足です。
ShapeMoveは動かす図形に「myText1」という名前を付けてマクロを書きました。
また、「3個の例です。まず、3個の図形ともシートに正確に配置します」を補足しますと、
1つの図形を指定する3箇所に配置する場合、それぞれの位置に正確に図形を配置するという意味です。画面に3個配置し、その位置を目に見えるよう数値化するのが目的です。
No.1
- 回答日時:
3個の例です。
まず、3個の図形ともシートに正確に配置します。myZukeiPotを標準モジュールに貼り付けボタンを貼り付けたシートから実行します。各図形の縦横位置がA1、B1、C1・・・に出力されます。(名前、縦位置、横位置)
この中の動かしたい図形の情報を記録しておきます。
'位置を調べる
Public Sub myZukeiPot()
Dim shp As Shape '四角形
Dim cot As Integer 'カウンタ
For Each shp In ActiveSheet.Shapes
cot = cot + 1
Range("A" & cot) = shp.Name '名前
Range("B" & cot) = shp.Top '上端位置
Range("C" & cot) = shp.Left '左端位置
Next
End Sub
移動を連続させるボタンとA、B、C位置に動くボタンを配置します。計4個。順にCommandButton1,2,3,4です。
下記のマクロを標準モジュールに貼り付け、「***縦・横位置の登録***」の箇所を上記で記録しておいた数値にします。順序は決めて下さい。
'四角形を動かす(例:四角形は3個)
Public Sub ShapeMove(Optional ShiteiNo)
Const ShpNum = 3 '四角形の個数
Dim ShpName As String '四角形の名前
Dim ShpTop(3), myShpTop As Double '動かす各位置、表示位置
Dim ShpLeft(3), myShpLeft As Double '動かす各位置、表示位置
ShpTop(1) = 71.25: ShpLeft(1) = 165.75 '***縦・横位置の登録***
ShpTop(2) = 98.25: ShpLeft(2) = 201
ShpTop(3) = 125.25: ShpLeft(3) = 276
Dim ct As Integer 'カウンタ
Dim myShpIdx As Integer '四角形の順序
With ActiveSheet
If IsMissing(ShiteiNo) Then 'ぐるぐる回る
myShpTop = .Shapes("myText1").Top '今あった位置
myShpLeft = .Shapes("myText1").Left '今あった位置
myShpIdx = 0
For ct = 1 To ShpNum
If myShpTop = ShpTop(ct) And myShpLeft = ShpLeft(ct) Then
myShpIdx = ct '何番目か探す
End If
Next
'次の場所にする
myShpIdx = myShpIdx + 1
If myShpIdx > ShpNum Then
myShpIdx = 1
End If
Else '位置指定
myShpIdx = ShiteiNo
End If
.Shapes("myText1").Top = ShpTop(myShpIdx)
.Shapes("myText1").Left = ShpLeft(myShpIdx)
End With
End Sub
ボタンを配したシートモジュールに下記マクロを貼り付けます
Private Sub CommandButton1_Click() 'ぐるぐる回る
ShapeMove
End Sub
Private Sub CommandButton2_Click() 'Aの位置(Aに対応して「1」)
ShapeMove 1
End Sub
Private Sub CommandButton3_Click() 'Bの位置(Bに対応して「2」)
ShapeMove 2
End Sub
'
Private Sub CommandButton4_Click() 'Cの位置(Cに対応して「3」)
ShapeMove 3
End Sub
長くなりました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) VBA 画面上のカーソルに文字数字を入力するコードを教えて下さい 1 2022/10/30 10:31
- iPad これまでタブレットは何台使ったか数え切れないほどですが、今回iPadを初めて手に入れました。 全体的 5 2022/08/07 18:34
- Visual Basic(VBA) エクセルマクロでアニメを作る方法を教えてください。 1 2023/02/07 14:27
- PowerPoint(パワーポイント) 2016EXCEL→2016PowerPointにコピペすると図形がゆがみます 5 2022/03/31 11:44
- 据え置き型ゲーム機 Switchで太鼓の達人をやってるのですが、プロコンが使いにくくて仕方がないです。何が使いにくいって 1 2023/07/01 10:46
- Word(ワード) ワード2019で、テキストボックスの位置を、左右の真ん中にする方法 1 2022/09/21 13:49
- Windows 10 アイコンの位置 3 2022/04/24 08:47
- 国産車 プリウスの レバーが戻る 6 2022/08/11 10:51
- その他(プログラミング・Web制作) pythonでのカーソル移動がずれる 2 2023/07/30 08:51
- JavaScript javascriptで移動ボタンを押した際に遷移するボタンを追記したい 1 2022/11/29 03:02
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Excelでアンケートに答えるとき...
-
エクセル2007で、図形を張...
-
pdfで、図形を回転する
-
Excel コメントの線が伸びたとき
-
adobe PDFに変換すると.logファ...
-
パソコンに行書体がありません...
-
フォトショップで青い線が出て...
-
「U」のような図形を作成する方法
-
Acrobatで作成した四角の前面・...
-
イラストレータで内側に線を引...
-
AUTOCAD図面に座標設定したい
-
Illustratorでグループ化が解除...
-
3D文字の押し出し部分をメタル...
-
シート追加をした時のフォント...
-
Visio 2003 コネクタツールの...
-
資料としていただいたイラスト...
-
adobe acrobatについて
-
フォントのインストール
-
草冠が「十十」にならない正楷...
-
イラストレーターでさっとパス...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
イラストレーターで重複した線...
-
Excelでアンケートに答えるとき...
-
数字を縦長に拡大する方法について
-
fireworksでの矢印の作り方
-
パワーポイントで渦巻き書きた...
-
Illustrator遠近グリッドに画像...
-
PHOTOSHOP(4.01)で、自由変形の...
-
Mac環境 ペイント系ソフト
-
illustratorで、一度描いた図形...
-
ドローソフトの機能
-
AUTO CAD LT2000
-
図形を台形にする
-
緊急!!イラレの遠近図形選択...
-
図形の変更・変形作業
-
テキストボックスの移動
-
エクセル2007で、図形を張...
-
インデザインで図形を文字と一...
-
イラレでパンクにあたる図形を...
-
Wordで挿入した図形 縦長図形を...
-
Illustratorでのパース
おすすめ情報