- ベストアンサー
削除した写真より下の写真を上に詰める
- 連続した工事写真があります。不特定位置の写真を1枚削除したときに、その写真より下にある写真を上に詰める方法を教えてください。
- 削除した写真より下の写真を上に詰める方法について教えてください。具体的には、連続した工事写真の中で不特定位置の写真を1枚削除したときに、その写真より下にある写真を上に詰める方法を知りたいです。
- 工事の連続写真の中で、不特定の位置にある写真を1枚削除したときに、その写真より下にある写真を上に詰める方法を教えてください。具体的な手順やコードがあれば教えていただけると助かります。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
参考に If UCase$(TypeName(Selection)) <> "RANGE" Then Exit Sub myRow = Selection(1).Row For Each Pic In ActiveSheet.Pictures Set r = Range(Pic.TopLeftCell, Pic.BottomRightCell) If Selection.Address = Union(Selection, r).Address Then Pic.Delete ElseIf Pic.TopLeftCell.Row > myRow Then Pic.Top = Pic.TopLeftCell.Offset(-5).Top End If Set r = Nothing Next End Sub
その他の回答 (2)
- watabe007
- ベストアンサー率62% (476/760)
アップされたコードでは範囲を選択して範囲内の写真を削除していますね >不特定位置の写真を1枚削除したときに この場合、写真を選択して削除した方が良いのでは ※コマンドボタンのTakeFocusOnClickプロパティをFALSE に設定してください。 Private Sub CommandButton1_Click() Dim Pic As Variant Dim myRow As Long If TypeName(Selection) <> "Picture" Then Exit Sub myRow = Selection.TopLeftCell.Row Selection.Delete For Each Pic In ActiveSheet.Pictures If Pic.TopLeftCell.Row > myRow Then Pic.Top = Pic.TopLeftCell.Offset(-5).Top End If Next End Sub
お礼
早速のご回答ありがとうございました。 写真を選ぶ方法もあったのですね。 参考にさせていただきます。
- chayamati
- ベストアンサー率41% (260/624)
おはようございます。 VBAは分かりませんが、Pic.Deleteは実行できましたか? これに伴い、 9行目から13行目迄も不要ではないですか これらの行も削除して不都合はありますか Rows("9:13").Select Selection.Delete Shift:=xlUp
お礼
早速のご回答ありがとうございました。 削除すると、その列の文言まで消えてしまいますので 不都合です。
お礼
早速のご回答ありがとうございました。 私の思い通りにできました。