Excel VBA質問箱 IV

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

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


43734 / 76732 ←次へ | 前へ→

【38026】Re:指定セル上の楕円削除
回答  Kein  - 06/5/25(木) 11:38 -

引用なし
パスワード
   >5行目と10行目に1 2 3と番号
というのは、セルに入力した数値のことでしょーか ?
そしてそのセルの上に、楕円の一部が重なっているということかな・・?
ま、実態としてはそうであっても、要は「5行目か10行目、もしくはどちらの
行にも楕円が一つだけある」ということを想定すればいいのですね ?
ならば配置するボタンを、フォームツールバーのものとして、以下のマクロを
二つのボタンに登録して下さい。そしてボタンのキャプションを変更する前に
デフォルトで表示されているキャプション(例えば "ボタン 13"など)の文字列を
>If x = "ボタン 13" Then
      ↑ここに指定します。
つまり "ボタン 13" は、あなたが例示した "Aのボタン" に相当するわけです。
コードの指定ができたら、ボタンのキャプションを任意のものに変更しても
結構です。変更する際はボタンを [Ctrl]キーを押しながらマウスで選択します。
そうすると登録したマクロを実行することなく、デザインモードになります。

Sub Del_Oval()
  Dim x As Variant
  Dim xR As Integer
  Dim Ov As Oval
  Dim MyR As Range

  x = Application.Caller
  If VarType(x) <> 8 Then Exit Sub
  If x = "ボタン 13" Then
   xR = 5
  Else
   xR = 10
  End If
  If ActiveSheet.Ovals.Count = 0 Then Exit Sub
  For Each Ov In ActiveSheet.Ovalus
   Set MyR = Range(Ov.TopLeftCell, Ov.BottomRightCell)
   If Not Intersect(Rows(xR), MyR.EntireRow) Is _
    Nothing Then
     Ov.Delete: Set MyR = Nothing: Exit For
   End If
   Set MyR = Nothing
  Next
End Sub

* ただし楕円が「5行目〜10行目に渡って」配置されていると
 正しく処理されない可能性があります。ご注意下さい。

0 hits

【38017】指定セル上の楕円削除 丸尾 06/5/25(木) 10:47 質問
【38023】Re:指定セル上の楕円削除 Jaka 06/5/25(木) 11:25 発言
【38026】Re:指定セル上の楕円削除 Kein 06/5/25(木) 11:38 回答
【38098】Re:指定セル上の楕円削除 丸尾 06/5/26(金) 11:44 お礼

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