I Renamed all variables named after KeyWords and removed duplicates. Also, I hate overloading Event Subs, so I put the working code into its own Procedure.
Option Explicit
Private Sub CommandButton1_Click()
MoveDataToFinishedTable
End Sub
Private Sub MoveDataToFinishedTable()
Dim Cel As Range
Dim Src As Worksheet
Dim Trgt As Worksheet
Dim Rw As Long
Dim Lr As Long
Set Src = ActiveWorkbook.Worksheets("Raw Table")
Set Trgt = ActiveWorkbook.Worksheets("Finished Table")
With Src 'Find Required Rows
Lr = WorksheetFunction.Max(.Cells(Rows.Count, "K").End(xlUp).Row, _
.Cells(Rows.Count, "M").End(xlUp).Row, _
.Cells(Rows.Count, "O").End(xlUp).Row)
' Start copying to row 4 in Trgt sheet
Rw = 4
Application.ScreenUpdating = False
For Each Cel In .Range("K4:K" & Lr) 'Do Required rows
If Cel = "Well being course" Then
' to only copy A:E,K:L,S:U
.Rows(Cel.Row).Union(Range("A:E"), Range("K:L"), Range("S:U")).Copy
Trgt.Cells(Rw, "A").PasteSpecial Paste:=xlPasteValues
'to paste into Cols A:Rw
Rw = Rw + 1
End If
Next Cel
For Each Cel In .Range("M4:M" & Lr) 'Do Required rows
If Cel = "Celatherapy" Then
' to only copy A:E, M:N, S:U
.Rows(Cel.Row).Union(Range("A:E"), Range("M:N"), Range("S:U")).Copy
Trgt.Cells(Rw, "A").PasteSpecial Paste:=xlPasteValues
'to paste into Cols A:Rw
Rw = Rw + 1
End If
Next Cel
For Each Cel In .Range("O4:O" & Lr) 'Do Required rows
If Cel = "Celitation" Then
' to only copy A:E, O:P, S:U
.Rows(Cel.Row).Union(Range("A:E"), Range("O:P"), Range("S:U")).Copy
Trgt.Cells(Rw, "A").PasteSpecial Paste:=xlPasteValues
'to paste into Cols A:Rw
Rw = Rw + 1
End If
Next Cel
End With 'Src
Application.ScreenUpdating = True
End Sub