I wouldn't do it like that. For a start you appear to have the the Outlook app creation in a loop. You only need to open Outlook once, so put that outside the loop. Instead of creating a new app each time, check if it is already open and if so, use the open app as that is much quicker:
On Error Resume Next
Set OutApp = GetObject(, "Outlook.Application")
If Err <> 0 Then
Set OutApp = CreateObject("Outlook.Application")
End If
On Error GoTo 0
As for the message itself, you can use the Outlook e-mail editor to edit the message body and retain your automatic signature related to the sending account. In the example below I have set a range (oRng)to the start of the message body. You can add text to oRng and format it using Word's range formatting parameters
I'll assume your cell references are correct as I don't have access to your worksheet.
You will need some more declarations:
Dim wdDoc As Object
Dim oRng As Object
Dim olInsp As Object
Set OutMail = OutApp.CreateItem(0)
acctname = ActiveCell.Offset(0, -1).Value
acctno = ActiveCell.Value
emailaddy = ActiveCell.Offset(0, 1).Value
emailcc = ActiveCell.Offset(0, 2).Value
Dear = "Dear John,"
With OutMail
.To = emailaddy
.cc = emailcc
.Subject = EmailSubject
.BodyFormat = 2 '(olFormatHTML)
Set olInsp = .GetInspector
Set wdDoc = olInsp.WordEditor 'Use the Word message editor
Set oRng = wdDoc.Range(0, 0) 'The start of the message body
With oRng
'populate the range
.Text = Dear & vbCr & "The text"
End With
.Display 'do not omit
'.Send 'restore when you are happy with the result
End With