Hola.
Aquí os pongo un código que me está dando error nº 9 de subindice (el subindice está fuera del intervalo) y no sé porque es.
Esto mismo, con otros nombres de variables, lo tengo puesto en otro programa y no me dá error.
-----------------------------------------
Private Sub Command6_Click()
Dim mensaje As String
Dim respuesta() As Byte, q As Integer
Dim respq(1 To 8) As Long
Dim mensrec As String, tempo As Double
If MSComm1.PortOpen = False Then
MsgBox "Abrir puerto primero"
Exit Sub
End If
If Text1.Text <> "" Then
mensaje = ""
For q = 1 To Len(Text1.Text) Step 2
mensaje = mensaje & Chr$(Mid$(Text1.Text, q, 2))
Next q
MSComm1.Output = mensaje
End If
tempo = Timer
Do
resp = MSComm1.Input
'On Error GoTo errorp
If MSComm1.InBufferCount >= 8 Then
MsgBox MSComm1.InBufferCount
'Call tramitarespuesta(respuesta)
For q% = 1 To 8
resp(q%) = respuesta(q% - 1) '----AQUÍ ME DA EL ERROR
If (q% = 3) Or (q% = 4) Or (q% = 5) Then
resp(q%) = Val(Hex$(respuesta(q%)))
End If
MsgBox "respq(" & q% & "):" & resp(q%)
mensrec = mensrec & resp(q%)
Next q%
Text3.Text = Text3.Text & mensrec
End If
If (tempo) > (Timer + 5) Then
tempo = Timer
End If
Text3.Text = Timer
Loop Until (Timer - 5) > tempo
Exit Sub
errorp:
If Err.Number <> 0 Then
MsgBox "Error"
Resume Next
End If
End Sub
-----------------------------------------------
Si sabeis que puede ser me podriais echar una mano.
Saludos.