Tried that, unfortunately the second copy to a sheet is still overwriting the first 
My current full code is below, and I've attached all my test workbooks in case there is something in there I should of mentioned but haven't.
Many thanks for all the help thus far.
Cheers
Matt
Sub DoProcessing()
ProcessAllWorkbooksInFolder "K:\Cndadm\Pulse Survey Test", "Training*.xls", False
End Sub
Sub ProcessAllWorkbooksInFolder(strParentFolder As String, Optional strFilter As String = "*.xls", Optional blnDoSubFolders As Boolean = False)
' Note: does not work in 2007
Dim FS As FileSearch
Dim lngCounter As Long
Dim wbk As Workbook
Dim wbkOut As Workbook
Application.ScreenUpdating = False
Set wbkOut = ActiveWorkbook
Set FS = Application.FileSearch
With FS
.NewSearch
.LookIn = strParentFolder
.SearchSubFolders = blnDoSubFolders
.Filename = strFilter
.MatchTextExactly = True
.FileType = msoFileTypeExcelWorkbooks
.Execute
For lngCounter = 1 To .FoundFiles.Count
Set wbk = Workbooks.Open(.FoundFiles(lngCounter))
ProcessWorkbook wbk, wbkOut
wbk.Close False
Next lngCounter
Set wbk = Nothing
End With
Set FS = Nothing
Application.ScreenUpdating = True
End Sub
Sub ProcessWorkbook(wbk As Workbook, wbkDest As Workbook)
Dim Letter As String
Dim rngDest As Range
Letter = wbk.Sheets("Results").Range("A2")
Select Case Letter
Case "A"
Set icol = wbkDest.Sheets("A").Cells(2, Columns.Count).End(xlToLeft)
Set rngDest = wbkDest.Sheets("A").Cells(2, Application.WorksheetFunction.Max(1, icol)).End(xlToLeft).Offset(, 1)
wbk.Sheets(2).Range("A1:A30").Copy
rngDest.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Case "C"
Set icol = wbkDest.Sheets("C").Cells(2, Columns.Count).End(xlToLeft)
Set rngDest = wbkDest.Sheets("C").Cells(2, Application.WorksheetFunction.Max(1, icol)).End(xlToLeft).Offset(, 1)
wbk.Sheets(2).Range("A1:A30").Copy
rngDest.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Case "M"
Set icol = wbkDest.Sheets("M").Cells(2, Columns.Count).End(xlToLeft)
Set rngDest = wbkDest.Sheets("M").Cells(2, Application.WorksheetFunction.Max(1, icol)).End(xlToLeft).Offset(, 1)
wbk.Sheets(2).Range("A1:A30").Copy
rngDest.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Case Else
Set icol = wbkDest.Sheets("Else").Cells(2, Columns.Count).End(xlToLeft)
Set rngDest = wbkDest.Sheets("Else").Cells(2, Application.WorksheetFunction.Max(1, icol)).End(xlToLeft).Offset(, 1)
wbk.Sheets(2).Range("A1:A30").Copy
rngDest.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End Select
End Sub
Bookmarks