Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


86 / 13645 ツリー ←次へ | 前へ→

【82051】元々のシートに画像があり、追加した複数枚の画像をその下に配置したい 初心者 22/7/7(木) 17:48 質問[未読]
【82052】Re:元々のシートに画像があり、追加した複... マナ 22/7/11(月) 19:13 発言[未読]

【82051】元々のシートに画像があり、追加した複数...
質問  初心者  - 22/7/7(木) 17:48 -

引用なし
パスワード
   教えて下さい。
下記の1回目で画像を複数枚 整列させています。
次に、そのシートに追加画像をいれたとき
挿入→画像で、複数枚の画像を追加し 1回目を実行すると
シート内すべての画像が対象となるので、以前に一部の画像を
上下入れ替えていた場合にも、元に戻ってしまいます。
そこで、
1回目 下記記載で整列
2回目以降 今選択している追加画像のみを整列
というように2種類コマンドボタンを作成したいのですが
2回目以降の設定がうまくいきません。
画像を追加した際に、複数枚選択されてる状態で
2回目以降を実行したら
追加画像のみ、画像サイズが変更されて、以前はりつけていた
既存画像の最後の画像の下から、順番に並んでいくように
ならないでしょうか。よろしくお願い致します。
Private Sub 1回目_Click()
 Dim shp As Shape
 Dim myRng As Range
 Dim myC As New Collection
 Dim c As Object
 For Each shp In ActiveSheet.Shapes
  If shp.Type = msoPicture Then
  If shp.Height = 288 And shp.Width = 336 Then
   If myRng Is Nothing Then Set myRng = shp.TopLeftCell
   If myRng.Row < shp.TopLeftCell.Row Then
    Set myRng = shp.TopLeftCell
   End If
  Else
   myC.Add shp
  End If
  End If
 Next shp
 For Each c In myC
  If myRng Is Nothing Then
   Set myRng = ActiveSheet.Range("C6")
  Else
   Set myRng = myRng.Offset(18)
  End If
  c.LockAspectRatio = msoTrue
  c.Height = 288#
  c.Width = 336#
  c.Top = myRng.Top
  c.left = myRng.left
 Next c
 End Sub
Private Sub 2回目以降_Click()

【82052】Re:元々のシートに画像があり、追加した...
発言  マナ  - 22/7/11(月) 19:13 -

引用なし
パスワード
   ▼初心者 さん:

ht tps://www.excel.studio-kazu.jp/kw/20220707141218.html

86 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free