Como hacer que una información se copie de una hoja a otra

Espero que me puedan ayudar.

Mejo 2 tablas de excel, en una tienen toda la información que manejo sobre la unidad (imagen 1) en la 2 da tabla es un reporte para saber las unidades que se tienen dentro del taller con mas datos (imagen 2), lo que quiero saber es como puedo hacer que el numero de orden se ponga en la tabla 2 cuando en la tabla 1 cuente con fecha de ingreso, y una vez que se ponga fecha de salida se elimine de la tabla 2.

Ojala me puedan apoyar.

Imagen 1

Imagen 2

1 respuesta

Respuesta
1

[Ho la Erika.

Para realizar lo que necesitas es necesario un código en VBA.

Te ayudo con el código, pero desafortunadamente en tus imágenes no se ven las filas de la hoja ni las columnas.

También responde y en orden lo siguiente :

- ¿El número de Orden es único?

- ¿El nombre de las 2 hojas?

- ¿Qué datos hay que pasar a la segunda hoja?

Hola, gracias por apoyarme

Te anexo imágenes de las tablas.

- El numero de orden, si es único, 

- Un excel se llama Ordenes sisco y la hoja se llama Información, y el otro excel se llama  excel de utilidad y la hoja se llama hoja 2

- Solo requiero pasar el numero de orden de la tabla 1 cuando tenga fecha de entrada a la tabla 2 y una vez que tenga fecha de salida en la tabla 1 que se elimine de la tabla 2.

Ojala me puedas ayudar, gracias

Te anexo el código.

Sigue las indicaciones:

- Los 2 libros deben estar abiertos.

- Revisa en la macro el nombre del libro y de la hoja en esta línea:

Set sh = Workbooks("excel de utilidad.xlsx").Sheets("Hoja 2")

- Si el libro o la hoja se llama diferente, debes corregirlo en la macro

- Pon la macro en el libro1 "Ordenes sisco", en la hoja "informacion"

Sigue las Instrucciones para poner la macro en los eventos de worksheet

  1. Abre tu libro de excel "Ordenes sisco"
  2. Para abrir Vba-macros y poder pegar la macro, Presiona Alt + F11
  3. Del lado izquierdo dice: VBAProject, abajo dale doble click a worksheet(informacion)
  4. En el panel del lado derecho copia la macro

Private Sub Worksheet_Change(ByVal Target As Range)
  Dim rng1 As Range, rng2 As Range, c As Range, f As Range
  Dim sh As Worksheet
  Dim num As Variant
  Dim lr As Long
  '
  Set sh = Workbooks("excel de utilidad.xlsx").Sheets("Hoja 2")
  '
  Set rng1 = Intersect(Target, Range("M2:M" & Rows.Count))
  If Not rng1 Is Nothing Then
    For Each c In rng1
      If c.Value <> "" Then
        num = Range("A" & c.Row).Value
        Set f = sh.Range("E:E").Find(num, , xlValues, xlWhole, , , False)
        If f Is Nothing Then
          lr = sh.Range("E" & Rows.Count).End(3).Row + 1
          sh.Range("E" & lr).Value = num
        End If
      End If
    Next
  End If
  '
  Set rng2 = Intersect(Target, Range("N2:N" & Rows.Count))
  If Not rng2 Is Nothing Then
    For Each c In rng2
      If c.Value <> "" Then
        num = Range("A" & c.Row).Value
        Set f = sh.Range("E:E").Find(num, , xlValues, xlWhole, , , False)
        If Not f Is Nothing Then
          sh.Range("E" & f.Row & ":H" & f.Row).Delete Shift:=xlUp
        End If
      End If
    Next
  End If
End Sub

- Guarda el libro como Libro de excel habilitado para macros.


- Regresa a la hoja "informacion".

- Captura un número de orden.

- Captura la fecha de entrada en la columna M.

- En automático se guardará el número de orden en libro2.

- Si capturas la fecha de salida en la columna N, en automático se borra el número del libro2.


Si tienes problemas para poner la macro en tu libro1, envíame tus archivos a mi correo:

[email protected]

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas