Ante todo encantado de ayudarte a ver si te puede valer este código.
Primero suponemos que el diagnostico que vas a poner a cada paciente va en una hoja de calculo con el mismo nombre y, por otro lado supongo que en una fila tienes los encabezados de cada lista.
Por otro lado supongo que el textbox del diagnostico se llama txtDiagnostico (o como se llame), te lo pongo para que te hagas una idea luego lo adaptas a tus necesidades.
Creamos un modulo y ponemos los siguiente:
Yo lo haría de la siguiente forma, si tienes cualquier duda me comentas:
Sub RegistrarPaciente
Application.ScreenUpdating = False 'desactivamos el parpadeo de pantalla
'Creamos bucle para recorrer todas las hojas del libro
For i = 1 To Worksheets.Count
'Si la hoja con el nombre del diagnostico en mayúsculas
'es igual que el nombre de la hoja en mayúsculas entonces
'esto lo hacemos porque se diferencia entre mayúsculas y minúsculas
If UCase(Sheets(i).Name) = UCase(txtdiagnostico).Value Then
'La activamos
Sheets(i). Activate
'Salimos del for
Exit For
Else 'Si no existe agregamos una hoja y le damos el nombre del diagnostico
Sheets.Add
ActiveSheet.Name = txtdiagnostico.Value
'Agregamos los títulos en la fila 1
'con el caption de las etiquetas del formulario
'en caso de tener los títulos en las celdas referenciar las celdas
Range("A1").Value = label1.Caption 'Nombre
Range("A2").Value = label1.Caption 'Identificacion
Range("A3").Value = label1.Caption 'Edad
Range("A4").Value = label1.Caption 'Diagnostico
' 'Si quieres copiar los títulos y pegarlos de una hoja a otra
' 'con el mismo formato te dejo este código para agregar
'
' 'Seleccinamos una hoja y seleccionamos los títulos
' Sheets("Nombre de la hoja"). Activate
' ActiveSheet.Range("A1").Select
' Range(Selection, Selection.End(xlToRight)).Select
'
' 'Los copiamos a la hoja que acabamos de crear
' Selection. Copy Sheets(txtdiagnostico. Value). Range("A1")
'
' 'vaciamos el portapapeles
' Application.CutCopyMode = False
'salimos del for
Exit For
End If
Next i
'Una vez fuera del for copiamos los datos
ActiveSheet.Range("A" & Rows.Count).End(xlUp).Offset(1, 0).Activate
ActiveCell.Value = Nombre 'textbox del nombre o celda donde tengas el nombre
ActiveCell.Offset(0, 1).Value = Identificacion 'textbox o celda de la identificacion
ActiveCell.Offset(0, 2).Value = edad ' textbox o celda de la edad
ActiveCell.Offset(0, 3).Value = Diagnostico 'textbox o celda del diagnostico
Sheets("Hoja1").Activate
ActiveSheet.Range("A1").Select
MsgBox "El paciente se ha registrado correctamente", vbInformation, "Paciente registrado"
Application.ScreenUpdating = True
End Sub