You have a lot of selecting and activating, and the use of "ActiveWorkbook" really scares me - this can do very bad things and using active anything should really be avoiding at all costs, unless there is no other way to do it. Also, I'd suggest limiting what is shown on the prompt to open a file type - does your code handle a .pdf file being selected? (probably not, unless you have some unpasted code). Also, you have an error check if the user didn't select a workbook, but then your code will continue on if they don't select a file to load, throwing more unhandled errors...
So, I'd suggest the following revisions:
Code:
Dim csvFile as String
Dim csvBook as Workbook
csvFile = Application.GetOpenFilename ("Text Files (*.csv),(*.csv),,"put prompt so user knows why the prompt came up here<tell up="" popped="" prompt="" the="" why="" know="" they="" so="" workbook="" select="" to="" user="">")
If csvFile<>"False" Then
Set csvBook = Workbooks.Open(csvFile)
With csvBook
.Range("A1:R" & .Range("A1").End(xlDown).Row).Copy
ThisWorkbook.Sheets("Enter your sheet name here"<enter name="" here="" sheet="" your="">).Range("A1").Paste
.Close False
End With
Else: Exit Sub
End If
End Sub