
今朝、コマンドボタンについて質問をして、
ボタンを押すごとに、特定のセルに1とブランク(=0)を
交互に入力する方法を教えてもらったのですが、その中で
新しい、トグルボタンという機能を教えてもらい、
本などを見て自分なりにやってみたのですが、
回答が見つからず、またまた書き込んでしまいました;;
先ほどは、ABS()の絶対値を使って、0と1を繰り返す方法と
下記のプログラムを教えて頂いたのですが、
Private Sub CommandButton1_Click()
If Range("D1").Value <> "" Then
Range("D1").Value = ""
Else
Range("D1").Value = 1
End If
End Sub
作りたい書類には1を入力したときに凹ませたいのですが、
教えてもらった回答では
どうしても、0の時に凹んで 1のときに凸るんです。
内容を色々変えてやってみたものの成功には至らず、
本を見ても回答に見合った例がなく、うまく出来ません。
っというか、コマンドボタンと同様の式では、
凹んだときにTrueを返して、凸ったときにFalseを返すという
折角のトグルボタンの意味が無いですよね?
とどのつまりが、お知恵をお貸し頂きたいということで、
毎度ながら申し訳ないのですが
何卒宜しくお願いします。
No.1ベストアンサー
- 回答日時:
こんにちは。
最初に、前回の私の書いたトグルボタンのコードの内容は、以下のようなものです。
Private Sub ToggleButton1_Click()
If ToggleButton1.Value Then
Range("D1").Value = 1
Else
Range("D1").Value = ""
End If
End Sub
ボタンをクリックすると、1が入り、もう一度押すと、数字は消えます。
>1を入力したときに凹ませたいのですが、教えてもらった回答では
>どうしても、0の時に凹んで 1のときに凸るんです。
1を入力した時に凹ませるというのは、かなり意味が違ってきます。あくまでも、ボタンを押して変化するというものですから、入力では、直接の変化はありません。
ワークシートのD1 に、1を入力した時に、凹ませるのは、
ボタンのプロシージャと同じ場所の、シートモジュールに、
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$D$1" Then Exit Sub
ToggleButton1.Value = (Range("D1").Value <> 0)
End Sub
なお、(Range("D1").Value <> 0) のカッコは、意味がありません。慣例で、見かけのために、そのような書き方をすると思ってください。その部分は、0以外は、True を返すというような仕組みになっています。
Wendy02さん、いつもご回答ありがとうございます。
自分なりに色々と勉強を続けていて、
関数に関しては結構覚えたつもりなのですが、
プログラムには公式がないというか、
関数のような特定の決まり事がないので
(あるけど幅が広くて覚え切れないのかな?;;)
中々難しいです。
以前教えて頂いたダイアログに関しては、
本のお陰もあってかなりいい具合に仕上がりましたよ。
今回の内容で If ~ Then ~ Else ~
で、関数IFと同じような意味のものが作れる事がわかりました。
どうもありがとうございました。
あと、質問の文章に誤りがありました。
”1を入力した時に凹ませたい~”じゃなくて、
凹ませた時に1が入るようにしたい。でした;;
すいません。
では、これに懲りずにまた宜しくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルに写真が貼れない(フ...
-
エクセルのVBAで集計をしたい
-
【マクロ】【相談】Excelブック...
-
Office2021のエクセルで米国株...
-
【マクロ】実行時エラー '424':...
-
他のシートの検索
-
vba テキストボックスとリフト...
-
【マクロ】【配列】3つのシー...
-
【マクロ】元データと同じお客...
-
【画像あり】オートフィルター...
-
【マクロ】数式を入力したい。...
-
エクセルのライセンスが分かり...
-
【マクロ】【画像あり】❶ブック...
-
【関数】3つのセルの中で最新...
-
【関数】=EXACT(a1,b1) a1とb1...
-
エクセルシートの見出しの文字...
-
セルにぴったし写真を挿入
-
LibreOffice Clalc(またはエク...
-
【マクロ】excelファイルを開く...
-
エクセルの複雑なシフト表から...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
【マクロ】元データと同じお客...
-
エクセルの関数について
-
【画像あり】オートフィルター...
-
エクセルのVBAで集計をしたい
-
エクセルのリストについて
-
【マクロ】数式を入力したい。...
-
【マクロ】【相談】Excelブック...
-
Office2021のエクセルで米国株...
-
【マクロ】実行時エラー '424':...
-
他のシートの検索
-
エクセルの複雑なシフト表から...
-
【マクロ】【配列】3つのシー...
-
vba テキストボックスとリフト...
-
【マクロ】左のブックと右のブ...
-
【マクロ】変数に入れるコード...
-
エクセルシートの見出しの文字...
-
【マクロ】別ファイルへマクロ...
-
【関数】同じ関数なのに、エラ...
-
Amazonでマイクロソフトオフィ...
-
ページが変なふうに切れる
おすすめ情報