[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『プルダウンで一度選択したものを他のセルで表示させないようにしたい』(sone)
soneです。お手数をおかけします。
データシートのA2からA14までに記載している以下部署名を、表紙シートのD4からD8に
プルダウン選択させる際に、一度選択した部署名を他のセルで選択出来なくすることは可能でしょうか?
FAG
SD
NOC
TC_ネットワーク
TC_レンタル
NWG1
NWG2
オンサイト
サービス基盤
人事
営サポ
受付
情シス
マクロやVBAは使用したことがなく勉強不足は自覚しておりますが、ご教授の程よろしくお願いします。
< 使用 Excel:Excel2010、使用 OS:Windows7 >
changeイベントで選択肢から削除していけばいいんだろうが、
修正入力などのあることを考えれば、複雑なことになる。
であるからして、
そうしたことが本当に必要か、苦労に見合うことなのか、よく考えた方がよいと思う。
例えば、条件付き書式で重複をチェックするくらいが落としどころではないか。
# 言いたい放題書いて申し訳ないが、一つの意見として書き付けておきます。
# 気に入らなければ、スキップしてください。
(γ) 2015/12/17(木) 22:21
どこかに入力可能リストを作った方がストレスなさそうです。
VBA案ではなく、Z列に入力可能リストを数式で作る案です。 (リストが目障りならZ列を非表示にする。場所の選定はあくまで例示)
1.数式を入力する (1) Z1セル =COUNTIF(Z2:Z14,"*?")
(2) Z2セル =IFERROR(INDEX(A:A,AGGREGATE(15,6,ROW($A$2:$A$14)/(COUNTIF($D$4:$D$8,$A$2:$A$14)=0),ROW(Z1)))&"","") Z14セルまでコピーする
2.D4:D8セルに入力規則を設定する。 リスト形式 元の値ボックスに =OFFSET($Z$2,0,0,$Z$1) と入力する
<結果例図> 行 _______A_______ _B_ _C_ ___D___ _E_ _Y_ ______ Z ______ 1 8 2 FAG SD 3 SD TC_ネットワーク 4 NOC FAG TC_レンタル 5 TC_ネットワーク NWG2 NWG1 6 TC_レンタル 人事 オンサイト 7 NWG1 NOC サービス基盤 8 NWG2 情シス 営サポ 9 オンサイト 受付 10 サービス基盤 11 人事 12 営サポ 13 受付 14 情シス
(半平太) 2015/12/17(木) 23:23
一応、データシートのB列を作業列として使った例を書いてみます。
Private Sub Worksheet_Change(ByVal Target As Range) Dim i As Long Dim j As Long Dim iMax As Long Dim cw As String
If Target.Count <> 1 Then Exit Sub If Intersect(Target, Range("D4:D8")) Is Nothing Then Exit Sub
With Sheets("データシート") iMax = .Cells(.Rows.Count, "A").End(xlUp).Row .Range("B2:B" & iMax).ClearContents
For i = 2 To iMax For j = 4 To 8 If .Cells(i, "A").Value = Cells(j, "D").Value Then .Cells(i, "B").Value = 1 Exit For End If Next j Next i
For i = 2 To iMax If .Cells(i, "B").Value = "" Then If cw <> "" Then cw = cw & "," End If cw = cw & .Cells(i, "A").Value End If Next i End With
With Range("D4:D8").Validation .Delete .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:=xlBetween, Formula1:=cw .IgnoreBlank = True .InCellDropdown = True End With End Sub
しかし、お薦めはこういう凝ったコーディングではなく、プルダウンからの入力には制限をかけないでおいて、
最終的に実行ボタン等を押したときに重複していないか調べることです。これくらいならば、初心者向けな難易度です。
(???) 2015/12/18(金) 09:43
リストから選択した場合だけ考慮したため、値をコピペされた場合には対応していないロジックです。
コピペまで考慮すると、もう少し長くなりますので。
(???) 2015/12/18(金) 09:47
???様、半平太様
お二人に頂いた内容は個人的に勉強する際に参考にさせて頂きます。
今回は重複した項目を選択した場合エラーとなる様な入力規則を追加することにしました。
皆様、ご協力頂きありがとうございました。
(sone) 2015/12/18(金) 14:47
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.