Looks like it might have gotten some unexpected characters into some of the lines (cut and paste maybe)
I added Option Explicit and retyped the lines
Option Explicit
Dim ThisDay As Date
Dim ThisYear, ThisMth As Date
Dim CreateCal As Boolean
Dim i As Integer
Private Sub CB_Mth_Change()
Build_Calendar
End Sub
Private Sub CB_Yr_Change()
Build_Calendar
End Sub
Private Sub cmdAddrecord_Click()
Dim wks1 As Worksheet, wks2 As Worksheet
Dim AddNew1 As Range, AddNew2 As Range
Set wks1 = sheet1
Set wks2 = sheet2
Set AddNew1 = wks1.Range("A65356").End(xlUp).Offset(1, 0)
AddNew1.Offset(0, 0).Value = txthastaid.Text
AddNew1.Offset(0, 1).Value = cboTitle.Text
AddNew1.Offset(0, 2).Value = txtname.Text
AddNew1.Offset(0, 3).Value = txtsurname.Text
AddNew1.Offset(0, 4).Value = txttell.Text
AddNew1.Offset(0, 5).Value = txtage.Text
AddNew1.Offset(0, 6).Value = cboGender.Text
AddNew1.Offset(0, 7).Value = txtadress.Text
AddNew1.Offset(0, 8).Value = txtcounty.Text
AddNew1.Offset(0, 9).Value = txtpostacode.Text
lstAppointment.ColumnCount = 10
lstAppointment.RowSource = "B1:J65356"
Set AddNew2 = wks2.Range("A65356").End(xlUp).Offset(1, 0)
AddNew2.Offset(0, 0).Value = txtdoctorid.Text
AddNew2.Offset(0, 1).Value = cboDocTitle.Text
AddNew2.Offset(0, 2).Value = txtdname.Text
AddNew2.Offset(0, 3).Value = txtdsurname.Text
AddNew2.Offset(0, 4).Value = txttell.Text
AddNew2.Offset(0, 5).Value = txtdp.Text
AddNew2.Offset(0, 6).Value = txtdp2.Text
AddNew2.Offset(0, 7).Value = txtdp3.Text
AddNew2.Offset(0, 8).Value = txtemail.Text
AddNew2.Offset(0, 9).Value = txtAppointment.Text
AddNew2.Offset(0, 10).Value = txtdate.Text
AddNew2.Offset(0, 11).Value = txttime.Text
AddNew2.Offset(0, 12).Value = cboConfirm.Text
lstdisplay.ColumnCount = 12
lstdisplay.RowSource = "B1:L65356"
End Sub
By the way, in this ...
Dim wks1, wks2 As Worksheet
Dim AddNew1, AddNew2 As Range
… wks1 and AddNew1 are Variants, not what you were expecting
With VBA each variable you Dim needs the specific type, UNLESS you really do want Variants. I just Dim everything explicitly
Dim wks1 As Worksheet, wks2 As Worksheet
Dim AddNew1 As Range, AddNew2 As Range