# Conditional Cell Input Capability

EE Professionals!

I'm running Excel 2010 and think I need a small macro to enforce several rules in a spreadsheet.  I have a spreadsheet that consists of two columns and 180 rows broken down into 12 sections of 15 associated rows per section.  I have attached a sample of the spreadsheet with 15 rows to keep it simple and than plan to apply the Macro for each section.  I need to have a macro that allows for input in the first column (A) and based on that answer, either restrict or allow additiional input both in the adjoining column (B) or in the rows below.  Here are the rules I'm trying to enforce:

If data in column A = "True", than you cannot input any data into adjointing cell B

If there is no data in column A or data = "N/A", than no data can exist in the adjointing cell B

If data in column A = "Partial" or "False", than data in cell B can be inputed from the dropdown list

When 3 false answers are created in a sequence (i.e. FALSE, FALSE, FALSE) in column A, than no more input is allowed in any of the cells below the third "FALSE" in sequence, within the cell range (i.e. A19:B33).

That's it!  "Thank you in advance".

B.
Conditional-Cell-Selection-Sampl.xlsm
###### Who is Participating?

x

Commented:
You mentioned Range A19:B33 in the workbook so I am giving you and example pertaining to that range. Please amend it for realistic situation.

Sample Attached.

Sid

Code Used

``````Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
'~~> Check if the chnage is happening in range A19:A33
If Not Intersect(Target, Range("A19:A33")) Is Nothing Then
On Error Resume Next
'~~> To check for 3 false conditions
For i = 33 To 22 Step -1
If Range("A" & i).Offset(-1).Value = "False" And _
Range("A" & i).Offset(-2).Value = "False" And _
Range("A" & i).Offset(-3).Value = "False" Then
Target.Value = ""
Application.EnableEvents = True
Exit Sub
End If
Next
On Error GoTo 0
'~~> Check if the chnage is happening in B19:B33
ElseIf Not Intersect(Target, Range("B19:B33")) Is Nothing Then
'~~> To check for rest 3 conditions
If Target.Offset(, -1).Value = "True" Or _
Target.Offset(, -1).Value = "N/A" Or _
Len(Trim(Target.Offset(, -1).Value)) = 0 Then Target.Value = ""
End If
Application.EnableEvents = True
End Sub
``````
Conditional-Cell-Selection-Sampl.xlsm
0

Author Commented:
OUTSTANDING JOB!!!

Works well;  I'll let you know how it goes as I incorporate it into my production copy.

Thanks much,

B.
0

Author Commented:
Sid,

How do I scale this?  I have 12 Sections with 15 selections in each Section.  It works perfectly for the first 15.  Can you give me some insight on scaling?

Thank you,

B.
0

Commented:
Sure B :)

Can I see your actual file so that I can get my references correctly?

Sid
0

Author Commented:
Sid,

Here is the complete file.  You will see that there are 15 answers, 12 categories, a total of 180 responses. I think there are only two things that need to be modified for this to work.  One is that the condition on 3 False Answers has to be reset after the 15th answer (for the next category) and the other thing is that right now it needs to allow for three FALSE answers (I can only log two at the present time).

B.
Total-File.xlsm
0

Author Commented:
Sid,

I'm going to ask this as a related question.  It's not fair for me to increase the scope of this when you did such a good job getting it right.

B.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.