Macro que graba Datos y rellena una matriz de 5x5

Tengo un libro en la Hoja1 tengo 25 puntos de atención en la columna A y una cuadrado de 5x5 para rellenar con el número del punto de atención, cada vez que grabo el punto de atención que me ingresa, si no se ha grabado el punto que aparezca en cuadrado "NG" se deben pasar los valores de la columna B, C, que es el Valor1 y valor 2 a la Hoja2.
Anexo archivo :
https://www.dropbox.com/s/6g2985mtwpwavbz/CONTROL.xlsx?dl=0

Se debe hacer el grabado: por cada dato que se ingrese,
la idea es que sea cada vez que ingreso cada dato correspondiente a cada punto de Atención se rellene la Matriz.
Ej. Me llega el punto de Atención 5, tan pronto le de grabar me pase estos datos a la Hoja2 y me rellen también la matriz en Orden, si es el 5 en el cuadro cinco y así sucesivamente.

1 Respuesta

Respuesta
1

Respondiendo al Ej. mencionado, la macro se coloca en un módulo y podes ejecutarla una vez completados los 2 valores del punto (*)

Primero la macro verifica si aún el cuadro dice NG sino te enviará un mensaje.

Sub paseMatriz()
'x Elsamatilde
'controla de que tenga los 2 valores (B:C)
If Range("B" & ActiveCell.Row) = "" Or Range("C" & ActiveCell.Row) = "" Then
    MsgBox "Faltan datos", , "ERROR"
    Exit Sub
End If
'completa el cuadro segun la fila del dato
Select Case ActiveCell.Row
Case 2 To 6
filx = 2
colx = ActiveCell.Row + 11
Case 7 To 11
filx = 3
colx = ActiveCell.Row - 6
Case 12 To 16
filx = 4
colx = ActiveCell.Row + 1
Case 17 To 21
filx = 5
colx = ActiveCell.Row - 4
Case 22 To 26
filx = 6
colx = ActiveCell.Row - 9
End Select
'pasa el dato a la matriz - revisa si aún no está
If Cells(filx, colx) <> "NG" Then
    Cells(filx, colx) = ActiveCell.Row - 1
    'pasa a la misma fila de Hoja2
    Range("B" & ActiveCell.Row & ":C" & ActiveCell.Row).Copy Destination:=Sheets("Hoja2").Range("B" & ActiveCell.Row)
Else
    MsgBox "Este punto ya está grabado.", , "INFORMACIÓN"
End If
End Sub

(*) Como la macro considera la fila activa lo ideal es que luego de llenar los 2 campos ejecutes un atajo de teclado.... este tema lo tengo explicado en la sección Macros de mi sitio.

Sdos.

Elsa

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas