Excelで三角くじを作ってみよう

Step 12 くじ結果のオートシェイプを削除する

クジ結果のシェイプがクリックされるか、クジのシェイプがクリックされると、クジ結果のオートシェイプを削除します。これも全シェイプを総当りし名前が一致するものを探し見つかれば削除します。
名前でシェイプのオブジェクトが選択できればいいのですが方法が分かりません。


Homeへ > Excelでアプリケーションソフト2 > 三角くじを作ってみよう

シートのVBAコード

下記のVBAコードに変更してください。

'クジがクリックされた
Public Sub ExShapeClick()
    Dim kname As String
    Dim tshape As Shape
    Dim nno As Long
    
    'クリックされたクジを削除
    ExClickShapeDelete
    
    'クジの名前を取得
    kname = Application.Caller
    If kname = "clickkuji" Then
        Exit Sub
    End If
    
    'クジ番号
    nno = Mid(kname, 5)
        
    For Each tshape In Sheets("くじ引き").Shapes
        '名前をチェック
        If tshape.name = kname Then
            '中央に移動
            ExMoveCenter tshape
            If atarikuji(nno) = 1 Then
                ExMakeClickShape True
            Else
                ExMakeClickShape False
            End If
            'Exit For
        End If
    Next
    Set tshape = Nothing
End Sub



下記のVBAコードを追加してください。

'クリックされたクジを削除
Public Sub ExClickShapeDelete()
    Dim tshape As Shape
    
    For Each tshape In Sheets("くじ引き").Shapes
        '名前をチェック
        If tshape.name = "clickkuji" Then
            tshape.Delete
            Exit For
        End If
    Next
    Set tshape = Nothing
End Sub


Homeへ > Excelでアプリケーションソフト2 > 三角くじを作ってみよう

■■■
このサイトの内容を利用して発生した、いかなる問題にも一切責任は負いませんのでご了承下さい
■■■
当ホームページに掲載されているあらゆる内容の無許可転載・転用を禁止します


Copyright (c) Excel-Excel ! All rights reserved