[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『セルの値でオブジェクト非表示』(sin)
お世話になります。
現在「商品コード申請書」というものを作っており、
シートにActiveXコントロールでシートにオプションボタンとコマンドボタンを置いています。それぞれセルとのリンクやコマンドボタンでのフォーム呼び出しは出来たのですが最後に壁に当たってしまいました。
結合してある特定のセル(E7:G8)の値が"新規"となった場合、
ボタン類が必要でなくなるので非表示としたいのですがさっぱりです。。
mergearea,If target,visible等を組み合わせていくというようなやんわりな知識で四苦八苦しております。
ご指導宜しくお願い致します。
< 使用 Excel:Excel2010、使用 OS:Windows7 >
>結合してある特定のセル(E7:G8)の値が"新規"となった場合、 なった、ということは数式か何かですか?
であれば、Rangeの中を Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("数式の参照元")) Is Nothing Then Dim flg As Boolean flg = Not Range("E7").Value = "新規" OptionButton1.Visible = flg OptionButton2.Visible = flg OptionButton3.Visible = flg End If End Sub でいかがでしょうか?
(稲葉) 2017/08/07(月) 17:21
書き忘れておりました。失礼致しました。
E7:E8の部分ですがデータの入力規則でリストを選択しプルダウン出来るようにしてあります。
なのでE7自体の値は"新規"等なのです。
その場合はがらっと変わるものなのでしょうか。
お手数おかけ致しますがよろしくお願いします。
(sin) 2017/08/08(火) 08:53
まずは上のコード、試してみました? If Not Intersect(Target, Range("数式の参照元")) Is Nothing Then ~~~~~~~↑~~~~~~ ここ書き換えるだけでできると思うのですけど。
(稲葉) 2017/08/08(火) 09:41
それ以前に情報が足りない・・・ どのように書き換えて どのようなエラーなのか 教えてもらわないと直しようがないですよ。 http://www.asahi-net.or.jp/~ef2o-inue/vba_k/sub04_200.html よく読んでください。 (稲葉) 2017/08/08(火) 12:58
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("E7") Is Nothing Then Dim flg As Boolean flg = Not Range("E7").Value = "新規" OptionButton1.Visible = flg OptionButton2.Visible = flg End If End Sub
単純にE7に変えてみてステップインで見ていくと
やはり数式の参照元の行で「構文エラーです」との表記が出ます。
又、結合セルであることの判定といいますか判断しているのは
どこの部分なのでしょうか?
それとも結合セルであることは関係ないのでしょうか。
(sin) 2017/08/08(火) 13:10
If Not Intersect(Target, Range("E7") Is Nothing Then ~↑~ 何か足りないように見えますよ。 (稲葉) 2017/08/08(火) 13:11
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.