Visual Basic - guardar y comparar datos en matriz

Life is soft - evento anual de software empresarial
   
Vista:

guardar y comparar datos en matriz

Publicado por gustavo (1 intervención) el 27/03/2015 19:44:19
Hola, estoy haciendo una macro en Word pero como es muy parecido a visual decidí ponerlo acá
Lo que estoy haciendo es guardar los productos para después mostrarlos, después comparo los seleccionados con los que no se seleccionaron para después guardarlos, cuando uso 3 productos todo va bien pero al usar mas me manda error.
Espero me haya explicado

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
pregunta = MsgBox("¿Se evaluaron todos los productos de la solicitud?", vbQuestion + vbYesNo)
    If pregunta = 7 Then
        Do
        c = 2
        npro1 = InputBox("¿Cuantos productos se evaluaron? ", " PRODUCTO")
            If npro1 = Cancel Then
            End: End If
        corregir = MsgBox("El numero de productos fue: " & npro1 & "    ****¿Desea corregir el dato?****", vbQuestion + vbYesNo)
            If corregir = 6 Then
                npro1 = InputBox("¿Cuantos productos se evaluaron? ", " PRODUCTO")
            End If
        datos = ""
        datos = datos & "De la siguiente lista identifique el numero correspondiente a los productos que fueron evaluados, ya que se le pedira en la siguiente ventana." & vbNewLine
        datos = datos & "" & vbNewLine
        For i = 1 To pro1
            datos = datos & "" & i & ")  Producto: Modelo " & valor1(4, i) & ", Tipo " & valor1(5, i) & "" & vbNewLine
            datos = datos & "" & vbNewLine
        Next
        MsgBox datos, vbInformation, " PRODUCTOS "
        npro = InputBox("Coloque los numero de los productos, separando con coma (ej. 01,02...,10):", " PRODUCTOS")
            buffer = npro: longitud = Len(buffer): k = 1: datpro = ""
            For j = 1 To npro1
                l = Mid(buffer, k, 2): k = k + 3
                For i = 1 To 8
                    valor2(i, j) = valor1(i, l)
                    note2(j) = note(l)
                    nta2(j) = nta(l)
                Next
                dat = " Modelo " & valor2(4, j) & ", Tipo " & valor2(5, j) & ""
                datpro = datpro + dat + "; "
            Next
            corregir = MsgBox("Los productos seleccionados fueron: " & datpro & "    ****¿Desea corregir el dato?****", vbQuestion + vbYesNo)
                If corregir = 6 Then
                    s = 1
                Else
                    s = 2: iip = 0
                        For i = 1 To pro1
                            For j = 1 To npro1
                                If valor1(4, i) = valor2(4, j) Then
                                Else
                                    iip = iip + 1
                                    For l = 1 To 8
                                        valor5(l, iip) = valor1(l, i)
                                        note5(iip) = note(i)
                                        nta5(iip) = nta(i)
                                    Next
                                End If
                            Next
                        Next
 
                        pro1 = npro1
                        For j = 1 To pro1
                            For i = 1 To 8
                                valor1(i, j) = valor2(i, j)
                                note(j) = note2(j)
                                nta(j) = nta2(j)
                            Next
                        Next
                End If
        Loop Until s = 2
    Else
        For j = 1 To pro1
                For i = 1 To 8
                    valor2(i, j) = valor1(i, j)
                    note2(j) = note(j)
                    nta2(j) = nta(j)
                Next
        Next
    End If
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder