Mirá.. para validar una ip, te paso una función. Lo de clase A,B o C, simplemente tendrías que ver el renago que deben tener cada uno de los octetos (ahora no los recuerdo). Y lo de la subred... querés que poniendo una máscara te diga qué subred es?
Esta es la funcion para validar una IP correcta:
Public Function ValidarIP(ByVal sIPAdress As String) As Boolean
Dim i As Integer
Dim iOcteto(4) As Integer
Dim sNumIP() As String
On Error GoTo errHandle
sIPAdress = Trim(sIPAdress)
If sIPAdress = "" Then Exit Function
'Separo el host en los cuatro octetos (o al menos lo intenta)
sNumIP = Split(sIPAdress, ".", -1, vbTextCompare)
'Si la cantidad de octetos no es cuatro, sale
If UBound(sNumIP) <> 3 Then Exit Function
'Chequea que cada octeto esté entre 0 y 255
For i = 0 To 3
iOcteto(i) = CInt(sNumIP(i))
If iOcteto(i) < 0 Or iOcteto(i) > 255 Then Exit Function
Next i
ValidarIP = True
Exit Function
errHandle:
Err.Clear
End Function
saludos!