Ver Mensaje Individual
  #1 (permalink)  
Antiguo 31/01/2010, 03:16
alekula
 
Fecha de Ingreso: julio-2007
Mensajes: 79
Antigüedad: 16 años, 9 meses
Puntos: 0
Mensaje Anda MAL y dice error de compilacion error de tipo: se esperaba una matriz o un tipo

Hola. Me pasa algo que no lo puedo entender.
Tengo dos matrices declaras:

Dim Pedido() As String
Dim Tabla(3, 4)

y la quiero ordenar por el metodo burbuja

Public Sub Form_Load()
Call Imprimo(Pedido, CantFalta, RutaFoto, Tamaño, CaratulasoDiscos, i)
End Sub

Public Sub Imprimo(Pedido, Cantidad, RutaFoto, Tamaño, CaratulasoDiscos, i)
Tabla(0, 0) = "6": Tabla(1, 0) = "9": Tabla(2, 0) = "8"
Tabla(3, 0) = "3"
Burbuja Tabla ' si la llamada es asi ANDA PERFECTO
Burbuja Pedido ' Anda MAL y dice error de compilacion error de tipo: se esperaba una matriz o un tipo definido por el usuario
End Sub



Sub Burbuja(Matriz(), Optional Ascendente As Boolean = True)
Dim Index As Long, Temp As Variant, Siguiente As Long
Dim IndiceSuperior As Long, Pasos As Long
Siguiente = LBound(Matriz)
IndiceSuperior = UBound(Matriz)
Do While Siguiente < IndiceSuperior
Index = IndiceSuperior
Do While Index > Siguiente
If Ascendente Then
If Matriz(Index, 0) < Matriz(Index - 1, 0) Then
Temp = Matriz(Index, 0)
Matriz(Index, 0) = Matriz(Index - 1, 0)
Matriz(Index - 1, 0) = Temp
End If
Else
If Matriz(Index, 0) >= Matriz(Index - 1, 0) Then
Temp = Matriz(Index, 0)
Matriz(Index, 0) = Matriz(Index - 1, 0)
Matriz(Index, 0) = Temp
End If
End If
Index = Index - 1
Pasos = Pasos + 1
Loop
Siguiente = Siguiente + 1
Pasos = Pasos + 1
Loop
Debug.Print "Número de pasos : " & Pasos
End Sub


No entiendo porque no puedo ordenarla si esta declarada esa forma.
Para probar hago esto
Tabla() = Pedido()
lo cual me da erroe que no se puede asignar a una matriz,
Al pedido lo cargo desde un TXT por medio de Tabulaciones y me anda perfecto hasta este momento que lo quiero ordenar. Gracias.



Gracias.

Última edición por alekula; 31/01/2010 a las 03:25