Jump to content

Cortar y pegar datos de una hoja a otra según contenido de una celda


Puche

Recommended Posts

Hola Buenos dias,

Es posible cortar y pegar fila de datos de una hoja a otra según contenido de una celda sin macros?

Ej:

si la celda ("B2") contiene la palabra "Ok", entonces corta la fila y pégala en otra hoja.

Saludos,

 

Link to comment
Share on other sites

¿Sin macros? Solo si lo haces a mano cortando y pegando o si aplicas filtros avanzados (pero no cortaría, lo tendrías por duplicado)

Si tienes Office 365 también se podría hacer con la función FILTRAR

Edited by DiegoPC
Completar la idea
Link to comment
Share on other sites

Hola @DiegoPC,

Tengo un archivo en el que tengo unos pedidos divido en 2 hojas, "Pendientes" y "entregados", lo que necesito es que una vez se ha entregado el paquete, esta entrada ( Que esta en la hoja "Pendientes"), la información pase a "entregados" automáticamente. Por lo que el filtro avanzado no me sirve.

No puedo hacerlo con macros ya que es un archivo que comparto en la nube, y hasta donde yo se, no deja tener macros.

Si tengo el office 365, como seria con la función Filtrar?

Saludos,

Link to comment
Share on other sites

Hola @GabrielRaigosa,

Gracias por el enlace, pero esto no me da la solución que busco. 

Con eso copio las filas según una condición, pero no se eliminan de la tabla principal.

Yo necesito que se eliminen de la tabla ya que una vez esta entregado el paquete, no quiero que siga visible en la tabla de "pendientes"

 

Saludos,

Link to comment
Share on other sites

En 3/8/2021 at 11:12 , Puche dijo:

Yo necesito que se eliminen de la tabla ya que una vez esta entregado el paquete, no quiero que siga visible en la tabla de "pendientes"

Como te lo indicaron antes, manualmente o con macros / programación VBA

Una idea es que una vez tengas todo actualizado creas una copia en .xlsx y lo compartes

 

Saludos 

Link to comment
Share on other sites

Puche, yo lo que haría sería tener tres hojas: "Todos", "Pendientes" y "Entregados".

En la hoja "Todos" introduciría todos los datos incluyendo (o no) la palabra OK. En las hojas "Pendientes" y  "Entregados" utilizaría la función FILTRAR: Si el registro contiene la palabra OK debe ir en "Entregados", en caso contrario, en "Pendientes".

¿Te sirve?

Link to comment
Share on other sites

Hola a todos

El viejo y conocido refrán "DIVIDE Y VENCERÁS" no es aplicable a los datos en Excel. Yo me dedico a la docencia y además soy freelancer de proyectos en Excel desde hace más de 20 años y veo algo muy común en mis alumnos y en mis clientes: Intentan dividir la información en varios cuadros, o varias hojas o varios libros y eso complica mucho todo el trabajo. Siempre les pregunto ¿Para qué quieres que se copie a otra hoja si lo puedes tener en la misma? Tener una sola tabla ayuda a hacer cuadros comparativos, resúmenes, tablas dinámicas, gráficos, etc.

Simplemente se debería tener una tabla y con segmentadores ver solo los pendientes o los entregados o ambos

Link to comment
Share on other sites

Hola @DiegoPC

Me parece muy interesante tu propuesta.

Eso como debería de hacerlo? 

Puedes compartir un archivo por Wetransfer o similar por favor? O dime donde puedo encontrar información de como hacer esto.

Gracias un saludo,

Link to comment
Share on other sites

  • Crear macros Excel

  • Posts

    • Muchas Gracias Janlui. Funciona perfecto, veras que he añadido a la macro una última línea que es la que crea el fichero final TXT en una ubicación concreta. Lo que no se es porque una vez generado el TXT la última parte la vuelve a entrecomillar (en la hoja 5 del fichero que adjunto veras un pantallazo del TXT que genera) Repito, muchas gracias por la ayuda Saludos       Ejemplo3.xlsm
    • Observé un pequeño error, espero ya esté bien. Sub genera_txt()     Set datos = Worksheets("Hoja1")     Sheets("hoja2").Select     Dim cadena As String     Range("a27:a5000").ClearComments     rd = 2     rs = 27     xc = Chr(34)     Do While datos.Cells(rd, 1) <> ""         cadena = xc & Left(datos.Cells(rd, 3), Len(datos.Cells(rd, 3)) - 6) & xc & "," & xc         For i = 7 To 11             cadena = cadena & datos.Cells(rd, i)         Next         cadena = cadena & xc & "," & xc         For i = 12 To 56             cadena = cadena & datos.Cells(rd, i)         Next         cadena = cadena & xc & "," & xc & datos.Cells(rd, 1) & xc         Cells(rs, 1) = cadena         rs = rs + 1         rd = rd + 1     Loop End Sub  
    • Disculpa que no te lo regrese en el archivo, pero mi nivel de membresía no me permite completar al 100% el apoyo que solicitan.
    • Copia la macro y el resultado lo pondrá en la Hoja2... Saludos Sub genera_txt()     Set datos = Worksheets("Hoja1")     Sheets("hoja2").Select     Dim cadena As String     Range("a27:a5000").ClearComments     rd = 2     rs = 27     xc = Chr(34)     Do While datos.Cells(rd, 1) <> ""         cadena = xc & Left(datos.Cells(rd, 3), Len(datos.Cells(rd, 3)) - 6) & xc & "," & xc         For i = 6 To 10             cadena = cadena & datos.Cells(rd, i)         Next         cadena = cadena & xc & "," & xc         For i = 11 To 56             cadena = cadena & datos.Cells(rd, i)         Next         cadena = cadena & xc & "," & xc & datos.Cells(rd, 1) & xc         Cells(rs, 1) = cadena         rs = rs + 1         rd = rd + 1     Loop End Sub  
    • Todas tus celdas deberán tener formato numérico.
  • Recently Browsing

    No registered users viewing this page.

×
×
  • Create New...

Important Information

Privacy Policy