Drop Down Lost no Duplicate allowed on the Row

VBA learner ITG

Active Member
Joined
Apr 18, 2017
Messages
272
Office Version
  1. 365
Platform
  1. Windows
  2. MacOS
thank you for taking the time looking at my post.

My question is and how would I achieve the below. As Google hasn’t yielded any solutions other than dependent drop downs. But I only have 1 list and no dependents.

Scenario!
I have 8 drop down columns side by side from A to H on a row.

Each drop down list on a row can only allow unique values selected from a Single List.

If a value is selected in Column A it can’t be selected in B and so forth..
 

Excel Facts

Can Excel fill bagel flavors?
You can teach Excel a new custom list. Type the list in cells, File, Options, Advanced, Edit Custom Lists, Import, OK
@VBA learner ITG
Questions that may help to get you a solution.
How many input rows might this be applicable to?
How many items in the list?
How are you currently defining the list? Eg Typed in DV dialogue or as range.
Are you open to using a helper column for list?
Are you open to possibility of a VBA element?
 
Upvote 0
@VBA learner ITG
Questions that may help to get you a solution.
How many input rows might this be applicable to?
How many items in the list?
How are you currently defining the list? Eg Typed in DV dialogue or as range.
Are you open to using a helper column for list?
Are you open to possibility of a VBA element?

Hi, answers below.

There are currently 100 input rows.
There are 47 items in a list.
List is formatted as a Named Range.
I am open to both helper and VBA

Thank you for your support
 
Upvote 0
OK, Hopefully this might help?
Has a small trial named ranges 'FullList' and similar sized'DynamicList'. You will need to properly define to suit your data.
Formula in P2 populates the DynamicList
P2 formula requires the input range row index in Q2 which is auto-populated by the Selection_Change code below.
Paste the code to the sheet's code module.

VBA Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Target.Count > 1 Then Exit Sub
If Intersect(Target, Range("A3:H102")) Is Nothing Then Exit Sub
Range("Q2") = Target.Row - 2

End Sub

My test data.

AutoTraining.xlsm
ABCDEFGHIJKLMNOPQ
1FullListDynamicListIndexRow
2HeadersAAAA1
3BBDDIIKKLLGGCCJJBBEE
4CCFF
5EEGGDDHH
6EE
7DDFF
8GG
9HH
10II
11JJ
12KK
13DDCCLL
14
15AA
16
17
18BBAA
19
20CC
21
Sheet10
Cell Formulas
RangeFormula
P2:P5P2=FILTER(FullList,NOT(ISNUMBER(MATCH(FullList,INDEX($A3:$H102,$Q$2,),0))))
Dynamic array formulas.
Named Ranges
NameRefers ToCells
FullList=Sheet10!$O$2:$O$13P2
MyRange=Sheet10!$O$2:$O$13P2
Cells with Data Validation
CellAllowCriteria
A3:H21List=DynamicList



HTH
 
Last edited:
Upvote 1
Solution
OK, Hopefully this might help?
Has a small trial named ranges 'FullList' and similar sized'DynamicList'. You will need to properly define to suit your data.
Formula in P2 populates the DynamicList
P2 formula requires the input range row index in Q2 which is auto-populated by the Selection_Change code below.
Paste the code to the sheet's code module.

VBA Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Target.Count > 1 Then Exit Sub
If Intersect(Target, Range("A3:H102")) Is Nothing Then Exit Sub
Range("Q2") = Target.Row - 2

End Sub

My test data.


AutoTraining.xlsm
ABCDEFGHIJKLMNOPQ
1FullListDynamicListIndexRow
2HeadersAAAA20
3BBDDIIKKLLGGCCJJBBBB
4CCCC
5EEGGDDDD
6EEEE
7DDFFFF
8GGGG
9HHHH
10IIII
11JJJJ
12KKKK
13DDCCLLLL
14
15AA
16
17
18BBAA
19
20CC
21
Sheet10
Cell Formulas
RangeFormula
P2:P13P2=FILTER(FullList,NOT(ISNUMBER(MATCH(FullList,INDEX($A3:$H102,$Q$2,),0))))
Dynamic array formulas.
Named Ranges
NameRefers ToCells
FullList=Sheet10!$O$2:$O$13P2
MyRange=Sheet10!$O$2:$O$13P2
Cells with Data Validation
CellAllowCriteria
A3:H21List=DynamicList


HTH
Thank you for sharing your expertise as it’s late here, I will go through this tomorrow and test and implement.

You have my gratitude for taking the time to reply to my questions.
 
Upvote 0
OK, Hopefully this might help?
Has a small trial named ranges 'FullList' and similar sized'DynamicList'. You will need to properly define to suit your data.
Formula in P2 populates the DynamicList
P2 formula requires the input range row index in Q2 which is auto-populated by the Selection_Change code below.
Paste the code to the sheet's code module.

VBA Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Target.Count > 1 Then Exit Sub
If Intersect(Target, Range("A3:H102")) Is Nothing Then Exit Sub
Range("Q2") = Target.Row - 2

End Sub

My test data.

AutoTraining.xlsm
ABCDEFGHIJKLMNOPQ
1FullListDynamicListIndexRow
2HeadersAAAA1
3BBDDIIKKLLGGCCJJBBEE
4CCFF
5EEGGDDHH
6EE
7DDFF
8GG
9HH
10II
11JJ
12KK
13DDCCLL
14
15AA
16
17
18BBAA
19
20CC
21
Sheet10
Cell Formulas
RangeFormula
P2:P5P2=FILTER(FullList,NOT(ISNUMBER(MATCH(FullList,INDEX($A3:$H102,$Q$2,),0))))
Dynamic array formulas.
Named Ranges
NameRefers ToCells
FullList=Sheet10!$O$2:$O$13P2
MyRange=Sheet10!$O$2:$O$13P2
Cells with Data Validation
CellAllowCriteria
A3:H21List=DynamicList



HTH

I have tested and implemented and your solution works as expected and I cannot thank you enough for your expertise on this.
 
Upvote 0

Forum statistics

Threads
1,224,814
Messages
6,181,125
Members
453,021
Latest member
Justyna P

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top