Originally Posted by
Babydum
Right, that's it! My oven is well and truly off. No cake for you if you visit, mr mfi!
What, no cake! This isn't a fee service you know.
Originally Posted by
Babydum
The rule isn't in yet, and after having a chat with some guys from I.S. it looks as though it's not going to be enforcable. The upshot being that it will be against policy, but if an unregistered spreadsheet is used, they won't interfere (probably), but they won't support or fix problems either.
That is a more pragmatic policy. You can understand the IS guys problems, trying to sort problems on thousands of spreadsheets by thousands of different developers is a daunting task. You either enforce a rigid poiicy of central spreadsheet development, no spreadsheet development, or you get pragmatic.
Originally Posted by
Babydum
Oh, that's right - it was me that removed it. here it is.
It is not quick, but you will only run iot rarely.
I don't get why you want this though, with the other code you will never see the 'n/a's
Sub SettoNA()
Dim iLastCol As Long
Dim ilastRow As Long
Dim iColumn As Long
Dim iRow As Long
Dim nCourses As Long
Dim i As Long, j As Long, k As Long
Const colCourses As String = "1:1"
Const colModules As Long = 25
Const colCourse As String = "I"
Application.ScreenUpdating = False
With Worksheets("Delegates")
iLastCol = .Cells(1, .Columns.Count).End(xlToLeft).Column
ilastRow = .Cells(.Rows.Count, "A").End(xlUp).Row
For i = 2 To ilastRow
iColumn = 0
On Error Resume Next
iColumn = Application.Match(.Cells(i, colCourse).Value, Worksheets("Courses").Rows(colCourses), 0)
On Error GoTo 0
If iColumn > 0 Then
For j = colModules To iLastCol
iRow = 0
On Error Resume Next
iRow = Application.Match(.Cells(1, j).Value, Worksheets("Courses").Columns(iColumn), 0)
On Error GoTo 0
If iRow = 0 Then
.Cells(i, j).Value = "n/a"
End If
Next j
End If
Next i
End With
Application.ScreenUpdating = True
End Sub