Ok so the process is split into 3 parts.
The user needs to first identify the entry that they need to view which is:
Sub RLUOKButton_Click()
Sheet7.Range("A43") = RLULNTB.Value
Sheet7.Range("B43") = RLUIRNTB.Value
If RLUIRNTB.Value <> "" Then
'IRN Duplication'
Dim n As Range
Set n = [b:b].Find(RLUIRNTB.Value, LookIn:=xlValues, LookAt:=xlWhole)
If Not n Is Nothing And RLUIRNTB <> "" Then
Unload Me
ReviewUserForm.Show
Else
Cancel = True
RLUIRNTB.Value = ""
CreateObject("WScript.Shell").Popup _
"This IRN is unrecognised.", 2, "Error"
End If
Else
If RLULNTB.Value <> "" Then
Dim m As Range
Set m = [a:a].Find(RLULNTB.Value, LookIn:=xlValues, LookAt:=xlWhole)
If Not m Is Nothing And RLULNTB <> "" Then
Unload Me
ReviewUserForm.Show
Else
Cancel = True
RLULNTB.Value = ""
CreateObject("WScript.Shell").Popup _
"This Local Number is unrecognised.", 2, "Error"
End If
Else
CreateObject("WScript.Shell").Popup _
"Please enter a Local Number or IRN.", 2, "Error"
End If
End If
End Sub
After that, the data review page will appear where users can view the data and make minor amendments if needed:
Private Sub UserForm_Initialize()
Set rngR = Range("B1", Range("B5000").End(xlUp))
Set rngE = Range("A1", Range("A5000").End(xlUp))
If Sheets("Info").Range("A43").Value <> "" Then
For Each cell In rngE
If cell.Value = Sheets("Info").Range("A43") Then
cell.Resize(, 13).Copy Worksheets("Info").Range("A47")
Application.CutCopyMode = False
Call ClearClipboard
Exit For
End If
Next cell
Else
For Each cell In rngR
If cell.Value = Sheets("Info").Range("B43") Then
cell.Offset(, -1).Resize(, 12).Copy Worksheets("Info").Range("A47")
Application.CutCopyMode = False
Call ClearClipboard
Exit For
End If
Next cell
End If
RLNTB.Value = Sheets("Info").Range("A47").Value
RIRNTB.Value = Sheets("Info").Range("B47").Value
RDateTB.Value = Sheets("Info").Range("C47").Value
RDateTB = Format(Sheets("Info").Range("C47").Value, "dd/mm/yyyy")
RUnitTB.Value = Sheets("Info").Range("D47").Value
ROffTB.Value = Sheets("Info").Range("E47").Value
RSusTB.Value = Sheets("Info").Range("F47").Value
RExTB.Value = Sheets("Info").Range("G47").Value
RSSHTB.Value = Sheets("Info").Range("H47").Value
RPriorityTB.Value = Sheets("Info").Range("I47").Value
With RPriorityTB
If RPriorityTB.Value = "Normal" Then
.AddItem "Priority"
.AddItem "Immediate"
Else
If RPriorityTB.Value = "Priority" Then
.AddItem "Normal"
.AddItem "Immediate"
Else
.AddItem "Normal"
.AddItem "Priority"
End If
End If
End With
RStatusTB.Value = Sheets("Info").Range("J47").Value
With RStatusTB
If RStatusTB.Value = "Awaiting Ingestion" Then
.AddItem "Ingestion"
.AddItem "Analysis"
.AddItem "Awaiting Archive"
.AddItem "Archive"
Else
If RStatusTB.Value = "Ingestion" Then
.AddItem "Awaiting Ingestion"
.AddItem "Analysis"
.AddItem "Awaiting Archive"
.AddItem "Archive"
Else
If RStatusTB.Value = "Analysis" Then
.AddItem "Awaiting Ingestion"
.AddItem "Ingestion"
.AddItem "Awaiting Archive"
.AddItem "Archive"
Else
If RStatusTB.Value = "Awaiting Archive" Then
.AddItem "Awaiting Ingestion"
.AddItem "Ingestion"
.AddItem "Analysis"
.AddItem "Archive"
Else
.AddItem "Awaiting Ingestion"
.AddItem "Ingestion"
.AddItem "Analysis"
.AddItem "Awaiting Archive"
End If
End If
End If
End If
End With
RCommentsTB.Value = Sheets("Info").Range("K47").Value
RAddCommentsTB.Value = ""
RDateLogTB.Value = Sheets("Info").Range("L47").Value
End Sub
Sub ReviewCancelButton_Click()
Unload Me
End Sub
Sub ReviewSaveButton_Click()
If RSSHTB.Value = Sheets("Info").Range("H47").Value Then
Sheets("Info").Range("C50").Value = ""
Else
Sheets("Info").Range("C50").Value = RSSHTB.Value
End If
If RPriorityTB.Value = Sheets("Info").Range("I47").Value Then
Sheets("Info").Range("D50").Value = ""
Else
Sheets("Info").Range("D50").Value = RPriorityTB.Value
End If
If RStatusTB.Value = Sheets("Info").Range("J47").Value Then
Sheets("Info").Range("E50").Value = ""
Else
Sheets("Info").Range("E50").Value = RStatusTB.Value
End If
If RAddCommentsTB.Value = "" Then
Sheets("Info").Range("F50").Value = ""
Else
Sheets("Info").Range("F50").Value = RAddCommentsTB.Value
End If
If Sheets("Info").Range("C50").Value = "" And Sheets("Info").Range("D50").Value = "" And Sheets("Info").Range("E50").Value = "" And Sheets("Info").Range("F50").Value = "" Then
CreateObject("WScript.Shell").Popup _
"No changes have been made.", 2, "Error"
Else
Sheets("Info").Range("B50").Value = Now
Unload Me
ReviewNameUserForm.Show
End If
End Sub
From there, any amendments made will need to authorised by entering your name:
Sub ReviewNameSaveButton_Click()
'Unprotect'
With ActiveSheet
.Unprotect Password:=""
.Cells.Locked = False
End With
'Priority'
If Sheets("Info").Range("D50").Value = "Normal" Then
Sheets("Info").Range("I47").Value = "Normal"
Sheets("Info").Range("D51").Value = "Priority changed to Normal: " & Sheets("Info").Range("B50").Value & ": " & ReviewNameTB.Value & Chr(10)
Else
If Sheets("Info").Range("D50").Value = "Priority" Then
Sheets("Info").Range("I47").Value = "Priority"
Sheets("Info").Range("D51").Value = "Priority changed to Priority: " & Sheets("Info").Range("B50").Value & ": " & ReviewNameTB.Value & Chr(10)
Else
If Sheets("Info").Range("D50").Value = "Immediate" Then
Sheets("Info").Range("I47").Value = "Immediate"
Sheets("Info").Range("D51").Value = "Priority changed to Immediate: " & Sheets("Info").Range("B50").Value & ": " & ReviewNameTB.Value & Chr(10)
Else
Sheets("Info").Range("D51").Value = ""
End If
End If
End If
'Status'
If Sheets("Info").Range("E50").Value = "Awaiting Ingestion" Then
Sheets("Info").Range("J47").Value = "Awaiting Ingestion"
Sheets("Info").Range("E51").Value = "Status changed to Awaiting Ingestion: " & Sheets("Info").Range("B50").Value & ": " & ReviewNameTB.Value & Chr(10)
Else
If Sheets("Info").Range("E50").Value = "Ingestion" Then
Sheets("Info").Range("J47").Value = "Ingestion"
Sheets("Info").Range("E51").Value = "Status changed to Ingestion: " & Sheets("Info").Range("B50").Value & ": " & ReviewNameTB.Value & Chr(10)
Else
If Sheets("Info").Range("E50").Value = "Analysis" Then
Sheets("Info").Range("J47").Value = "Analysis"
Sheets("Info").Range("E51").Value = "Status changed to Analysis: " & Sheets("Info").Range("B50").Value & ": " & ReviewNameTB.Value & Chr(10)
Else
If Sheets("Info").Range("E50").Value = "Awaiting Archive" Then
Sheets("Info").Range("J47").Value = "Awaiting Archive"
Sheets("Info").Range("E51").Value = "Status changed to Awaiting Archive: " & Sheets("Info").Range("B50").Value & ": " & ReviewNameTB.Value & Chr(10)
Else
If Sheets("Info").Range("E50").Value = "Archive" Then
Sheets("Info").Range("J47").Value = "Archive"
Sheets("Info").Range("E51").Value = "Status changed to Archive: " & Sheets("Info").Range("B50").Value & ": " & ReviewNameTB.Value & Chr(10)
Else
Sheets("Info").Range("E51").Value = ""
End If
End If
End If
End If
End If
'Comments'
If Sheets("Info").Range("F50").Value = "" Then
Else
Sheets("Info").Range("J51").Value = Sheets("Info").Range("K47").Value
Sheets("Info").Range("K51").Value = Sheets("Info").Range("B50").Value & ": Comments by: " & ReviewNameTB.Value & Chr(10) & Sheets("Info").Range("F50").Value & Chr(10) & Chr(10) & Sheets("Info").Range("J51").Value
Sheets("Info").Range("K47").Value = Sheets("Info").Range("K51").Value
End If
'Date Log'
Sheets("Info").Range("G51").Value = Sheets("Info").Range("L47").Value
Sheets("Info").Range("F51").Value = Sheets("Info").Range("C51").Value & Sheets("Info").Range("D51").Value & Sheets("Info").Range("E51").Value
Sheets("Info").Range("L47").Value = Sheets("Info").Range("F51").Value & Sheets("Info").Range("G51").Value
'Make changes to master sheet'
Sheets("Master").Select
Set rngG = Range("B1", Range("B5000").End(xlUp))
For Each cell In rngG
If cell.Value = Sheets("Info").Range("B47") Then
cell.EntireRow.Select
Sheets("Info").Range("A47:L47").Copy Destination:=ActiveCell
Application.CutCopyMode = False
Call ClearClipboard
Exit For
End If
Next cell
Unload Me
With ActiveSheet
Cells.Locked = True
.Protect Password:=""
End With
ReviewUserForm.Show
End Sub
Bookmarks