Maybe something like this. Code is untested (written on mobile).
Option Explicit
Sub extractCountries()
Dim arrayOfValues() as variant
Dim lastRow as long
Dim rowIndex as long
'Change these four lines as needed '
Const SOURCE_COLUMN as string = "D"
Const DESTINATION_COLUMN as string = "E"
Const ROW_TO_START_FROM as long = 1
With thisworkbook.worksheets("Sheet1")
lastRow = .cells(.rows.count, SOURCE_COLUMN).end(xlup).row
arrayOfValues = .range(SOURCE_COLUMN & ROW_TO_START_FROM ":" & SOURCE_COLUMN & lastRow).value2
For rowIndex = lbound(arrayOfValues,1) to ubound(arrayOfValues,1)
arrayOfValues(rowIndex,1) = vba.strings.left$(arrayOfValues(rowIndex,1),3)
'If the logic should be "everything before the comma", use instr() function above.'
Next rowIndex
.range(DESTINATION_COLUMN & ROW_TO_START_FROM ":" & DESTINATION_COLUMN & lastRow).value2 = arrayOfValues
End with
End sub