Jump to content

YianTheJOP

Members
  • Posts

    32
  • Joined

  • Last visited

  • Days Won

    1
  • Country

    Spain

YianTheJOP last won the day on November 14 2020

YianTheJOP had the most liked content!

About YianTheJOP

YianTheJOP's Achievements

  1. Buenas tardes chicos, Ya lo he hecho funcionar, tarda un poco al pulsar el botón Ejecutar Comparación que supongo que será por lo poco "depurada" que está la macro pero es hasta donde llego a base de leer y copiar y pegar he observado que ocupa mas de 2Mb y no es normal, supongo que arrastra algún error que lo hace ir ampliando conforme se usa. Os dejo el archivo por si alguien lo necesita, se que es un poco raro pero quien sabe? a lo mejor le va bien a alguien. Un saludo. DiferenciasEntreColumnas.7z
  2. Yo sigo investigando y contestándome solo Al final lo saco ya veras!!!!!!!!! Al parecer, es complicado el copiado y pegado de celdas con formato condicional, pero he encontrado un truco chapucero pero efectivo y consigo lo que necesito. He añadido el siguiente código y funciona!!!! Sub CompararCeldas() Sheets("Resultado").Select Rows("1:1").Select Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove Range("B2").Select Sheets("Resultado").Range("B2").AutoFilter Field:=2, Criteria1:=RGB(255, _ 199, 206), Operator:=xlFilterCellColor Range(Selection, Selection.End(xlDown)).Select With Selection.Interior .Pattern = xlSolid .PatternColorIndex = xlAutomatic .Color = 10066431 .TintAndShade = 0 .PatternTintAndShade = 0 End With ActiveSheet.ShowAllData Columns("B:B").Select Selection.Copy Range("C1").Select ActiveSheet.Paste Application.CutCopyMode = False Selection.AutoFilter Rows("1:1").Select Selection.Delete Shift:=xlUp Columns("A:B").Select Selection.Delete Shift:=xlToLeft Range("D8").Select Columns("A:A").EntireColumn.AutoFit End Sub Si lo termino mañana lo subo aquí mismo funcionando por si le puede ser de utilidad a alguien. Un saludo.
  3. Buenos días, lo que pensé ayer no termina de funcionar. Adjunto el archivo por si lo queréis y podéis ver pero creo que no termina de funcionar por el código que he utilizado en la parte de 'Buscamos duplicados entre las columnas A y B de la hoja Resultado y la forma de colorear no está bien programada. No entiendo el motivo pero copia la columna con las celdas sombreadas pero la pega en la siguiente hoja sin el color de las celdas, solo los valores sin el color de fondo y como podéis comprobar utilizo Sheets("Mes2").Range("B2").PasteSpecial xlPasteAll que en teoría tendría que pegarlo tal como está la celda. El error se encuentra aquí y no doy con la solución: Private Sub CommandButton2_Click() 'Copiamos las columnas B de hoja(mes1) y hoja(mes2) en la hoja Resultado Sheets("Mes1").Select Range("B2", Range("B2").End(xlDown)).Copy: Sheets("Resultado").Range("A1").PasteSpecial xlPasteValues Sheets("Mes2").Select Range("B2", Range("B2").End(xlDown)).Copy: Sheets("Resultado").Range("B1").PasteSpecial xlPasteValues Sheets("Resultado").Select Worksheets("Resultado").Columns("A:B").AutoFit 'Buscamos duplicados entre las columnas A y B de la hoja Resultado Sheets("Resultado").Select Columns("A:B").Select Selection.FormatConditions.AddUniqueValues Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority Selection.FormatConditions(1).DupeUnique = xlDuplicate With Selection.FormatConditions(1).Interior .PatternColorIndex = xlAutomatic .Color = 13551615 .TintAndShade = 0 End With 'copiamos la columna B de la hoja Resultado en la hoja Mes2 Sheets("Resultado").Select Range("B1", Range("B1").End(xlDown)).Copy Sheets("Mes2").Range("B2").PasteSpecial xlPasteAll Unload Me Sheets("Mes2").Select End Sub Gracias. DiferenciasEntreColumnas.xlsm
  4. Creo que he encontrado una solución. El problema que encuentro es la comparación de columnas en diferentes hojas. Si las columnas están en la misma hoja creo saber cómo hacerlo. Así que mañana intentaré hacer una cosa que creo funcionará. Crearé una nueva hoja que permanecerá oculta en la que se pegaran los datos de las columnas que necesito, busque las diferencias y copie y pegue el resultado en la columna de la hoja2 substituyendo los datos. Lo tengo en la cabeza, no sé si será una chapucilla pero si funciona cuelgo el archivo Excel por si le sirve a alguien.
  5. Buenas tardes @Antoni y demás usuarios, Referente a su aportación del EXCEL Comparar dos hojas, simplemente, excelente, espectacular, inigualable y mis más sinceras felicitaciones. Con su permiso la parte de "lectura\traslado" de archivos Excel es excelente y lo he añadido a un mini proyecto nuevo que me han solicitado en el trabajo. (Y creo que lo utilizaré en más ocasiones). El formulario de momento queda así, (Obra suya al 99% por supuesto). Lo único que añadiré, a parte de colores, es un botón nuevo a su formulario que ejecute una macro que lo que necesito y pretendo es que: Busque en la columna B2 de la Hoja 2 hasta el último dato " en bucle/loop" las entradas que no existan en la columna B de la hoja1 y coloreando de color rojo las referencias que encuentre que no existen en la hoja 1 columna b:b Los archivos no tienen que tener la misma cantidad de datos ni estar en el mismo orden, los datos de las columna B son únicos, como si fuera una key, y solo pretendo que si en la hoja2 columna b hay algún dato que no exista en la columna b de la hoja1 me sombree la celda de color rojo, no sé si me explico. Usted me podría ayudar? Gracias por adelantado, un saludo.
  6. En el archivo, por si alguien quiere ver el funcionamiento, si pulsáis la combinación de teclas CTRL+MAYU+W os salfrá un formulario con opciones. Los botones que aparecen en el formulario son funciones básicas, el llamado Leer EXCEL lo que hace es leer un archivo Excel, pegar los datos en la pestaña Gestión Semanal y eliminar las columnas innecesarias. La intención es pulsar despues el botón Pasar Datos a BD y que ejecute otro código, que es el que no soy capaz de sacar con la grabadora de macros para que ordene los datos en la otra pestaña llamada DB Trabajadores.
  7. También agradecería si es complicado el tema, una orientación ya que no se que buscar para encontrar ejemplos, intentar entenderlos y aplicarlos. Me refiero a "busca en google validación de datos entre hojas con condición" o algo similar. Ya que no sé como buscar información. Gracias.
  8. Buenos días a todos, a ver si alguien me puede ayudar en este asunto, a ver si soy capaz de explicarme. Queremos hacer una hoja de Excel para usarla como base de datos y controlar periodos de contratación de personal. Esta hoja consta de 2 pestañas. En la primera pestaña se encuentran los datos a tratar y en la segunda donde se trasladan los datos. Necesito que se busque en bucle en la hoja 1 el número de la columna A "id" y lo busque en la columna A de la hoja2 y.. -Si lo encuentra que pegue los datos de su misma fila que se encuentran en las columnas E y F que son fechas de inicio y final de contrato en la hoja 2 en las primeras celdas contiguas vacías. -Si no encuentra el ID que lo cree nuevo en la Hoja 2 en la ultima fila sin datos copiando columna A en hoja2 A, columna B en hoja2 B, columna C en hoja 2 en C, columna d en hoja 2 D y los datos de columna E y F en su misma fila primeras celdas sin datos. El ID es inalterable para cada persona, e intento que se centre la búsqueda por ese número y dependiendo de si existe o no que actúe de una manera u otra el VBA. Lo he intentado con la grabadora de macros pero estoy desesperado, no sale nada de manera sólida y fiable, un desastre. Un saludo, y gracias como siempre. Cristina Prueba Fechas.xlsm
  9. Me sucedió algo similar en una ocasión con códigos postales y mi solución fue darles a todas las celdas de la columna el formato a texto.
  10. Otra de mis tonterias, pero que conste que solo intento ayudar. Has probado ha darle a las celdas donde se copian los datos, formato de celda como texto? Si las pones como texto te mantienen el 0 delante. Boton derecho en celdas, formato de celdas, texto.
  11. Range("F7").PasteSpecial xlPasteValues Application.CutCopyMode=False (No sé si es esto lo que necesitas).
  12. Buenos días, En la empresa recibo un archivo Excel con muchísimos datos con los "saltos de hoja", no sé como explicarlo, de forma vertical. Quisiera ponerlos de forma horizontal. Las hojas, constan de la columna A a la L y 39 filas, y me gustaría que cortara datos, colores, etc desde la fila 40 a la 49 y lo pegara en horizontal y así sucesivamente. He estado mirando y no hay manera, todo lo que encuentro hace referencia a ordenar los datos pero yo no quiero que los datos se ordenen y cambien, solo busco un corta y pega. He buscado si existe alguna opción en Excel y no la sé encontrar y he supuesto que se tendrá que tirar de vba. Si existe llamadme **maravilloso**, Lo he intentado hacer con el grabador de macros pero algo se me escapa y no lo hace bien. Busco hacer esto, os muestro esquema en foto, sé que no es lo correcto. Si necesitáis un Excel monto uno esta tarde ficticio. Un saludo, gracias.
  13. Sub BuscadorPDF() ' ********************************************** Range("K7:L8").Select Selection.ClearContents ' SE BORRA EL RANGO PARA COMENZAR CON LA HOJA LIMPIA ' ' ********************************************** Range("K8").Select Directory = "C:\Users\javio\Desktop\PDF de prueba\" ' Disco Duro y CARPETA. TERMINAR CON \ FileName2 = Range("L6").Value & "*" & ".pdf" sPath = Directory & FileName2 Dim vIn, vOut(), i As Long, c As Range vIn = Filter(Split(CreateObject("WScript.Shell").exec("cmd /c Dir """ & sPath & """ /b /a-d /s").stdout.ReadAll, vbCrLf), ".") On Error GoTo Fin ReDim vOut(1 To 1 + UBound(vIn), 1 To 2) With CreateObject("Scripting.FileSystemObject") For i = 0 To UBound(vIn) vOut(1 + i, 1) = .GetParentFolderName(vIn(i)) vOut(1 + i, 2) = .GetBaseName(vIn(i)) & "." & .GetExtensionName(vIn(i)) Next i End With With Range("K7").Resize(UBound(vOut, 1), UBound(vOut, 2)) .Value = vOut For Each c In .Columns(2).Cells .Parent.Hyperlinks.Add c, c(1, 0) & "\" & c.Value Next c End With Columns("B").AutoFit Exit Sub Fin: End Sub
  14. A ver, no soy el más indicado para responderte. Yo lo que sí "logré" sacar en su día fue la manera de que según lo que pongas en una celda, te busque en una carpeta que tengas con PDFs y si encuentra la coincidencia te indique a solo in "Clik" de ratón el PDF y se abra. No sé si me explico y es lo que necesitas.
  15. Esto me vendrá bien a mí también. La adopto con vuestro permiso.
×
×
  • Create New...

Important Information

Privacy Policy