[[20080318151046]] 『一度使ったマクロボタンは使えないようにしたい』(リカ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『一度使ったマクロボタンは使えないようにしたい』(リカ)

いつもお世話になっていますm(__)m

ちょっといきづまったので教えてください。

マクロで「行を10行増やす」というのと、「行を削除する」というボタンの2つを
作っています。
それ以上さらに行数を増やされると困るので、

一度そのボタンを使えば
再びボタンを押せないようにブロックみたいなのをかけたいのです。

もっと欲をいえば、「行を削除する」ボタンを押して元の行数に戻ったら、再び「行を10行増やす」ボタンが使えるようになれればいいのですが・・・。

どうぞご教授ください。よろしくお願いいたしますm(__)m


 どこか適当なセルに、フラグを立てるのはどうでしょうか。
 例えば、A1セルが 0 だと削除できない、1 だと挿入できないとする場合、

 Sub sakujyo()
    If Range("A1").Value = 0 Then Exit Sub
    ここに削除するマクロを入れる
    Range("A1").Value = 0
 End Sub

 Sub sounyuu()
    If Range("A1").Value = 1 Then Exit Sub
    ここに挿入するマクロを入れる
    Range("A1").Value = 1
 End Sub

 みたいな感じで。
 (sato)


 フォームのボタンの場合は、非表示にするというのはどうでしょうか?
 Sub ボタン1_Click()
    ActiveSheet.Shapes("Button 1").Visible = False
    ActiveSheet.Shapes("Button 2").Visible = True
 End Sub
 Sub ボタン2_Click()
    ActiveSheet.Shapes("Button 1").Visible = True
    ActiveSheet.Shapes("Button 2").Visible = False
 End Sub

 コントロールツールボックスの方のボタンの場合は、押せないようにします。
 Private Sub CommandButton1_Click()
    CommandButton1.Enabled = False
    CommandButton2.Enabled = True
 End Sub
 Private Sub CommandButton2_Click()
    CommandButton2.Enabled = False
    CommandButton1.Enabled = True
 End Sub
 (やっちん)


 (やっちん)さん と同じですが

 コードの最後に記載して一回やったら,ボタンを見えなくする方法もあります。
例 (夕焼)

Sub test()

MsgBox "おはよう"

Worksheets(1).Shapes("ボタン 1").Visible = False

End Sub


 やり方はいろいろあると思いますが、
 Private Sub CommandButton1_Click()
    If CommandButton1.Caption = "行を削除する" Then
        CommandButton1.Caption = "10行増やす"
        '--- 行を削除する処理
    Else
        CommandButton1.Caption = "行を削除する"
        '--- 10 行増やす処理
    End If
 End Sub
 のように一つのボタンでやる方法もあるかと思います。
 (Mook)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.