アプリ版:「スタンプのみでお礼する」機能のリリースについて

エクセルのドロップダウンリストを使い始めて判らない事があったので教えてください。
ドロップダウンリストを複数連動させた時、1つ目を変えても2つ目以降に選んだものはそのままになってしまいます。
例として適当に作ったものですいませんが、画像左上は1つ目のリストでデザートを選択、2つ目でアイスを、3つ目でバニラを選んだ状態です。
2つ目は1つ目に、3つ目は2つ目にINDIRECTを使い連動させています。
1つ目のリストを飲み物に変えても2つ目と3つ目はそのままです。

1つ目を変えたら2つ目と3つ目を自動的に空白、リスト一番上の「‐」、未入力等の文字を表示、といった状態にする方法はないでしょうか?

「エクセルでドロップダウンリストを複数連動」の質問画像

A 回答 (2件)

こんばんは!



VBAになりますが、一例です。
A~C列にリスト設定してあるという前提です。

画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面のカーソルが点滅しているところに
↓のコードをコピー&ペースト → Excel画面に戻り(VBE画面を閉じて)
連動しているリスト候補を表示(消去)してみてください。

Private Sub Worksheet_Change(ByVal Target As Range) 'この行から//
Dim c As Range
If Intersect(Target, Range("A:B")) Is Nothing Or Target.Count > 100 Then Exit Sub
For Each c In Target
If Target.Column = 1 Then
c.Offset(, 1).Resize(, 2).ClearContents
Else
c.Offset(, 1).ClearContents
End If
Next c
End Sub 'この行まで//

※ A・B列データ消去でその右セルを消去するようにしていますが、
極端に広い範囲を指定した場合は何も変化しません。
(100セルまでは動くはずです)m(_ _)m
    • good
    • 3
この回答へのお礼

試したところしっかりとセル内が消えてくれました。
便利な事が出来そうですがVBAは全く知らないのでこれを機にちょっと手を出してみようかと思います。
ありがとうございました。

お礼日時:2015/07/12 00:38

>1つ目を変えたら2つ目と3つ目を自動的に空白、リスト一番上の「‐」・・・


VBAの力を借りないと無理です。
一例ですが
シート名のタブを右クリック
コードの表示をクリック
VBエディターが起動したら

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$8" Then
Range("B8").Value = "-"
Range("C8").Value = "-"
End If
End Sub
をコピーして閉じる。

A8セルの内容を変更してみてください。
    • good
    • 0
この回答へのお礼

ありがとう

ありがとございます。
試したところしっかりと‐に置き換わりました。

お礼日時:2015/07/12 00:32

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A