Here's the code I've written so far, it just goes and goes, I'd like to make it into a block (if possible) to make it more manageable.
The purpose of the code is to erase certain cells if none of the known names are present in a certain cell. I have other individual codes based off each name that paste specific data into specific cells if Namen is present:
Sub Eraser()
If Range("E4").Value <> "Name1" And Range("E4").Value <> "Name2" And Range("E4").Value <> "Name3" And Range("E4").Value <> "Name4" And Range("E4").Value <> "Name5" And Range("E4").Value <> "Name6" And Range("E4").Value <> "Name7" And Range("E4").Value <> "Name8" And Range("E4").Value <> "Name9" And Range("E4").Value <> "Name10" And Range("E4").Value <> "Name11" And Range("E4").Value <> "Name12" And Range("E4").Value <> "Name13" Then
Range("W4").Value = ""
End If
End Sub
I've tried Things like
Sub Eraser()
If Range("E4").Value <> "Name1" & _
Range("E4").Value <> "Name2" & _
Range("E4").Value <> "Name3" & _
Range("E4").Value <> "Name4" & _
Range("E4").Value <> "Name5" & _
Range("E4").Value <> "Name6" & _
Range("E4").Value <> "Name7" & _
Range("E4").Value <> "Name8" & _
Range("E4").Value <> "Name9" & _
Range("E4").Value <> "Name10" & _
Range("E4").Value <> "Name11" & _
Range("E4").Value <> "Name12" & _
Range("E4").Value <> "Name13" Then
Range("W4").Value = ""
End If
End Sub
And
Sub Eraser()
If Range("E4").Value <> "Name1" & _
And Range("E4").Value <> "Name2" & _
And Range("E4").Value <> "Name3" & _
And Range("E4").Value <> "Name4" & _
'And et cetera'
FYI The code works perfectly when it's single line, I'm just a perfectionist
Since a number of people have offered codes that I think contradict what I was trying to do, I'll add my other codes that the Eraser Sub was meant to erase. If anyone has any ideas on how to make them more elegant or concise, I'm open.
Sub Name1()
If Range("E4").Value = "Name1" Then
Range("T6").Value = "EID1#" 'Employee ID Number
Range("U10").Value = "SN1" 'Serial Number
Range("I19").Value = "TN1" 'Trainer Name
Range("AA19").Value = "TED1" 'Trainer Expiration Date
Range("AB6").Value = "CN1" 'Course Name
End If
End Sub
Sub Name2()
If Range("E4").Value = "Name2" Then
Range("T6").Value = "EID2"
Range("U10").Value = "SN2"
Range("I19").Value = "TN2"
Range("AA19").Value = "TED2"
Range("AB6").Value = "CN2"
End If
End Sub
Sub Name3()
If Range("E4").Value = "Name3" Then
Range("T6").Value = "EID3"
Range("U10").Value = "SN3"
Range("I19").Value = "TN3"
Range("AA19").Value = "TED3"
Range("AB6").Value = "CN3"
End If
End Sub
Sub Eraser()
If Range("E4").Value <> "Name 1" _
And Range("E4").Value <> "Name2" _
And Range("E4").Value <> "Name3" Then
Range("T6").Value = ""
Range("U10").Value = ""
Range("I19").Value = ""
Range("AA19").Value = ""
Range("AB6").Value = ""
End If
End Sub
Again, I have about 16 different iterations for this, and while some of my team have the same information, a lot of them have different info. so I coded each one individually, and wrote an update-check code that calls each Sub automatically. The Eraser Sub was mainly to be Personally Identifiable Information (PII) conscious
For diligence sake, here's the update-check Sub
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$E$4" Then
Call Name1
Call Name2
Call Name3
Call Eraser
End If
End Sub