Como traspasar datos de tablas de información de hoja a hoja

A ver explico. Tengo una hoja llamada "VISITAS" y en ella hay 3 cuadros. El primero va desde B16 hasta i 86 y se vacía la información de enero. El segundo va desde B95 hasta i164 y se vacía la información de febrero, y el tercero va desde B173 hasta i242 y se vacía la información de marzo. En este cuadro se debe hacer el vaciado manual de visitas a clientes y en la Columna i se coloca un número si el cliente es captado. (Esta fila no permite duplicados por data validation y vale acotar que no todo cliente es captado por la visita).

Aparte tengo otra hoja llamada "CLIENTES" en el cual se hace el vaciado de la información manual de la cantidad de clientes captados por las visitas y se debe determinar que producto compró el cliente. En este tambien hay 3 cuadros. El primero va desde A10 hasta J57 y en este se vacía la información del mes de enero. El segundo va desde A67 hasta J114 y en este se vacía la información de febrero. Y el tercero va desde A124 hasta J171. Para evitar inconvenientes y errores humanos (olvidar clientes y/o una gama increíble de posibilidades) necesito que la información de la hoja "VISITAS" de la columna i del primer cuadro pase automaticamente a la hoja "CLIENTES" Columna A del primer cuadro. Es decir, si la segunda visita del mes de enero es captada (hoja "Visitas", celda i17 = 1234) ese número pase automáticamente a la hoja "Clientes" celda A10.

1 respuesta

Respuesta
1

Tus rangos no son coherentes.

El primer rango de "VISITAS", va desde la fila 16 hasta la 86, en total son 76 filas

Para ese rango en "CLIENTES", va desde la fila 10 hasta la 57, en total 47 filas, si se diera el caso que en VISITAS se ocupen más de 57 filas, en la hoja "CLIENTES" ya no habría espacio para acomodar los números, ya que se encuentra el siguiente cuadro.

Podrías redefinir los rangos para que la macro pueda funcionar.

Muy bien. Redefini las filas a 50F cada cuadro.

ahora los rangos de la hoja "CLIENTES" sería.

Cuadro 1: A10: J49

Cuadro 2: A59: J108

Cuadro 3: A118: J167

Y los nuevos rangos de la hoja "VISITAS" sería:

Cuadro 1: B17: i66

Cuadro 2: B75: i124

Cuadro 3: B133: i182 .

Envíame tu nuevo archivo para adaptar las macros

Enviado a tu correo

Sr Dante ya le envíe el archivo para que me ayude a adaptar las macros! Muchas gracias 

Te anexo la macro actualizada

Private Sub Worksheet_Change(ByVal Target As Range)
'Por.Dante Amor
    If Not Intersect(Target, Range("I17:I66")) Is Nothing Then
        i = 10
        Do While Sheets("CLIENTES").Cells(i, "A") <> ""
            i = i + 1
        Loop
        Sheets("CLIENTES").Cells(i, "A") = Target.Value
    End If
    If Not Intersect(Target, Range("I75:I124")) Is Nothing Then
        i = 59
        Do While Sheets("CLIENTES").Cells(i, "A") <> ""
            i = i + 1
        Loop
        Sheets("CLIENTES").Cells(i, "A") = Target.Value
    End If
    If Not Intersect(Target, Range("I133:I182")) Is Nothing Then
        i = 118
        Do While Sheets("CLIENTES").Cells(i, "A") <> ""
            i = i + 1
        Loop
        Sheets("CLIENTES").Cells(i, "A") = Target.Value
    End If
End Sub

Saludos.Dante Amor

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas