最新閲覧日:

ボタンを押すことでテキストボックスが消えるようにしたいのですが、
ボタンは、2つ 「ONとOFF」 1~3のSheetにあるテキストボックスをSheet5に配置した「ONとOFF」のボタンで操作するようにしたいのですがよろしくお願いします。

A 回答 (3件)

テキストボックスは図形を使っていましたよね。

コントロールツールボックスのテキストボックスなら簡単に操作できるのですが・・・

まず、各シートのテキストボックスに共通の文字を持った名前をつけて下さい。
Sheet1ではmyText1_1、myText1_2・・・、Sheet2ではmyText2_1、myText2_2・・・の要領です。
下の例では名前の前6文字をVBAで判定に使っています。
やっていることはテキストボックスの座標を操作しているだけです。目で見える範囲や印刷等の範囲の外に出るように増分zoubunを適当に設定して下さい。(図形を見た目だけ消すのはたいへんです)

最初に動かすときは、「ボタンON」のプロパティのvisibleをfalseにしておきます。

「ボタンOFF」を押すと図形が消え、「ボタンOFF」が見えなくなり「ボタンON」が現れます。
「ボタンON」を押すと図形が現れ、「ボタンON」が消え「ボタンOFF」が現れます。

これは標準モジュールに貼り付けます。
Public Sub ON_OFF(FLG As Boolean)
Dim sht As Integer 'シートカウンタ
Dim shp As Shape '図形
Const zoubun = 500 '位置を変える大きさ
Dim fugo As Integer '符号
fugo = 1: If FLG = True Then fugo = -1

Application.ScreenUpdating = False
For sht = 1 To 3
Worksheets("Sheet" & sht).Activate
For Each shp In Worksheets("Sheet" & sht).Shapes
If Left(shp.Name, 6) = "myText" Then
shp.Top = shp.Top + zoubun * fugo
shp.Left = shp.Left + zoubun * fugo
End If
Next
Next
Worksheets("Sheet5").Activate
Application.ScreenUpdating = True
End Sub

シート5に貼り付けます
Private Sub cmdOff_Click()
cmdOff.Visible = False: cmdON.Visible = True: ON_OFF False
End Sub

Private Sub cmdON_Click()
cmdOff.Visible = True: cmdON.Visible = False: ON_OFF True
End Sub
    • good
    • 0
この回答へのお礼

nishi6さん!いつもありがとうございます。

今回は、一発成功!しました。VBAが少しづつ分かってきているような気がします。nishi6さんには、いつもお世話になりっぱなしですみません。本当にありがとうございます。

お礼日時:2001/06/11 21:38

もしも、画面上で見えたり見えなくするというのではなく、本当に消したい場合は以下のようにしみてください。


(多分質問の意図は前述の方のやり方が回答になっていると思いましたが)

--ONの処理--
Sub ボタン1_Click()
 Sheets("Sheet1").Select
 ActiveSheet.OLEObjects.Add(ClassType:="Forms.TextBox.1",        Link:=False,・・・・・その他設定)
 (シート2・シート3も同様に)
End Sub


--OFFの処理--
Sub ボタン2_Click()
 Sheets("Sheet1").Shapes("TextBox1").Delete
 Sheets("Sheet2").Shapes("TextBox1").Delete
 Sheets("Sheet3").Shapes("TextBox1").Delete
End Sub

この回答への補足

batu1さん!ありがとうございます。
早速やってみましたが、
ActiveSheet.OLEObjects.Add(ClassType:="Forms.TextBox.1",Link:=False,・・・・・その他設定)
がエラーになってしまいました。

OFFはうまくいました。

補足日時:2001/06/11 21:29
    • good
    • 0
この回答へのお礼

すみません!お礼のほうに書くべきでした。
とりあえず、うまくいきそうなのでがんばってみます。

お礼日時:2001/06/11 21:35

以下のようにします。



■コマンドボタンONの処理
Private Sub CommandButtonON_Click()
Sheet1.TextBox1.Visible = True
Sheet2.TextBox1.Visible = True
Sheet3.TextBox1.Visible = True
End Sub

■コマンドボタンOFFの処理
Private Sub CommandButtonOFF_Click()
Sheet1.TextBox1.Visible = False
Sheet2.TextBox1.Visible = False
Sheet3.TextBox1.Visible = False
End Sub
    • good
    • 0
この回答へのお礼

gould09さん!ありがとうございました。
ちょっとエラーが出てしまいましたが、意味は理解でき、何とかできました。
ありがとうございました。

お礼日時:2001/06/11 21:34

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード


人気Q&Aランキング

おすすめ情報