[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『チェックボックス』(つまり)
いつもお世話になっております。 チェックボックスの応用について教えてください。
シートが2枚あります。
1枚のシートのA1のセルにプルダウンリストを作成 リスト内容・・・みかん・りんご・ぶどう
もう2枚目のシートにチェックボックスを3個作成 A1のセルにみかん B1のセルにりんご C1のセルにぶどう
この様なデータがあるのですが、 1枚目のシートのリストでみかんを選んだ時、 2枚目のみかんのチェックボックスにチェックが入るようにしたいのですが、 チェックボックスのコントロールの書式設定などいじってみたんですが、 わかりませんでした・・・
こんな事は出来ないのでしょうか? どなたか教えてください。 よろしくお願いします。
>セルにプルダウンリストを作成 入力規則を使っているのか、他を使っているのかはっきりとわかるように 書いたほうが良いです。 何度もやり取りするようなことになるので....。
>チェックボックスのコントロールの書式設定 これも、アクティブXコントロールのコントロールツールボックスなのか、 フォームのほうなのか、はっきり書いておいたほうが良いです。 でないと解答が付きにくいと思います。 (Jaka)
すみません・・・
プルダウンリストは入力規則を使っています。 チェックボックスはフォームのチェックボックスです。
よろしくお願いします。
(つまり)
えっと、コントロールの書式設定のコントロールタブにリンクするセルってありますよね? そこに適当にセルアドレスをいれてみてOK。チェックをON・OFFすると、リンクしたセルがTRUE・FALSEと変わります。 要はリンクしたセルがTRUEならチェックが入るので、そのセルに =IF(リストから選択するセル="みかん",TRUE) なんて数式を入れ、フォント色を白とでも すればとりあえずはご要望のようになると思うんですが、問題が。 チェックボックスにチェックを入れてしまうと数式は消える。 シートの保護をすれば数式は消えませんが、保護する際にロックされたセル範囲の選択が 許可されていれば、複数チェックを入れることはできる。のです。 複数チェックOKなら問題ないんですけど、どれか一つをっというのなら、オプションボタンのほうがいいように思います。
私なんぞの怪しげな回答より、全文検索でチェックボックス オプションボタン フォーム で検索してみたので、 見てみてください。きっと参考になるスレッドがあると思います。^^; https://www.excel.studio-kazu.jp/cgi-bin/estindex/estseek2.cgi?phrase=%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF%E3%83%9C%E3%83%83%E3%82%AF%E3%82%B9%E3%80%80%E3%82%AA%E3%83%97%E3%82%B7%E3%83%A7%E3%83%B3%E3%83%9C%E3%82%BF%E3%83%B3%E3%80%80%E3%83%95%E3%82%A9%E3%83%BC%E3%83%A0&perpage=10&attr=&order=@uri+STRD&clip=-1 (かなれっと)
かなれっとさん、ありがとうございます。 複数チェックOKなので教えていただいた方法でやってみます。 (つまり)
リンクするセルに
Worksheets("Sheet2").Range("B4").Value = True
Worksheets("Sheet2").Range("B4").Value = False
ってな感じに書き込んでもいいんですが、普通に書くとこんな感じです。
尚、入力規則のリスト設定の仕方よっては、97だと動きません。
(Jaka)
Private Sub Worksheet_Change(ByVal Target As Range)
Dim LsId As Integer
If Target.Address(0, 0) = "A1" Then
If Target.Value = "みかん" Then
LsId = 1
ElseIf Target.Value = "りんご" Then
LsId = 2
ElseIf Target.Value = "ぶどう" Then
LsId = 3
End If
If LsId > 0 Then
With Worksheets("Sheet2")
'For i = 1 To 3
' If i = LsId Then
' 名前ボックスに表示されている名前を使いました。
' ↓その辺は、適当に修正してください。
' .Shapes("チェック " & i).OLEFormat.Object.Value = xlOn
' Else
' .Shapes("チェック " & i).OLEFormat.Object.Value = xlOff
' End If
'Next
.Shapes("チェック " & LsId).OLEFormat.Object.Value = xlOn
End With
End If
End If
End Sub
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.