Saltar al contenido

Comparar 2 archivos


Krash

Recommended Posts

publicado

Hola como estan, bueno lun par de consultas:

Si tengo 1 archivo excel llamado registro1, lo copio y lo pongo en otra carpeta con otro nombre digamos registro2, hay alguna manera de comparar estos 2 archivos si son exactamente iguales, en este caso por lógica que si son iguales. Lo que sucede es, que si dejo un archivo excel con miles de datos(guardo una copia por seguridad en otro lado para hacer la comparación), y en el transcurso del día alguien digamos por error ingreso un dato, como puedo saber si este archivo ha sido modificado , por eso es la consulta como comparar estos archivos.

Y otra Consultilla, al momento de ingresar datos a una celda digamos ingreso 2130 como hago para que se registre 21:30, es que no quiero poner esos ":" sino que aparezca automáticamente.

Desde ya gracias por aclarar estos 2 interrogantes.

Saludos.

publicado

Hola krash, para la primera pregunta no se me ha ocurrido nada aun, seguiré pensando, pero para segunda cuestión, si colocas ésto . . .

##":"##

. . . en el formato personalizado, hace lo que solicitas.

Saludos, Germán.

publicado

Hola,

Me gusta buscar complementos y leer sobre temas relacionados con Excel, en mis diferentes búsquedas encontré un complemento que hace una copia de seguridad del archivo que estemos trabajando, esto lo hace automáticamente cada "x" tiempo, y "n" número de copias de seguridad, esto lo hace en forma "circular", es decir que si configuras 3 copias, al momento de llegar a la 4ta copia la 2da se convierte en 1era, la 3ra se convierte en 2da y y la 4ta se convierte en 3era.

Además de poder elegir la ruta/senda/path donde se guarda esa copia de seguridad y el número de días que debe mantener las copias de seguridad, en caso de que no se quiera que borre archivos antiguos creo que la solución seria establecer un numero de días alto, por ejemplo 10000 días (poco mas de 27 años), en la página dice que es compatible con Excel 2007 y anteriores, pero yo lo he ensayado con 2010 y funciona, solo he encontrado un detalle, que la copia de seguridad la crea como .xls, independiente de la extensión original (xlsx o xlsm), pero realmente eso no ha sido problema pues se puede renombrar en caso de ser necesario.

Se que no es lo que estas preguntando, pero como veo que el tema tiene que ver con la seguridad de tu archivo y para evitar escribir en el archivo que no es, esta puede ser una solución, tener un solo archivo y dejar que el complemento te haga la copia de seguridad. Y en caso de ser necesario ir a la carpeta y tratar de recuperar el archivo.

Adicionalmente la copia de seguridad la he dirigido a una carpeta que tengo dentro de DropBox, de esta forma los archivos pueden estar mejor respaldados.

Pocas veces he tenido necesidad de recuperar archivos por descuido, no sobra tener un buen respaldo de datos, nunca se sabe cuando puede haber algún problema grave en el PC.

Incluso crea copias de seguridad de archivos que aun no se han guardado, esto puede ser especialmente útil para los "despistados".

Este es el enlace.

Microsoft Excel Autobackup

Gabriel

[Haré una copia de este post en Ideas y aportes]

publicado

Hola German, buena idea, recien estoy comenzando a conocer el excel, vamos a empezar por ahi; bueno hasta donde está no lo reconoce en formato hora y ademas si registro 00:01 es el problema, pero esta buena la idea gracias.

Gabriel esta buena esa info, pero se va mas de lo que quise explicar, pero trataré de entenderlo gracias.

Saludos.

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

  • 109 ¿Te parecen útiles los tips de las funciones? (ver tema completo)

    1. 1. ¿Te parecen útiles los tips de las funciones?


      • No
      • Ni me he fijado en ellos

  • Ayúdanos a mejorar la comunidad

    • Donaciones recibidas este mes: 0.00 EUR
      Objetivo: 130.00 EUR
  • Archivos

  • Estadísticas de descargas

    • Archivos
      188
    • Comentarios
      98
    • Revisiones
      29

    Más información sobre "Cambios en el Control Horario"
    Última descarga
    Por pegones1

    4    1

  • Crear macros Excel

  • Mensajes

    • Hola, veo que tienes 365, así que esta forma funcionará   Almacen.xlsx
    • Buenos días  @LeandroA espero estes bien Tengo un caso idéntico al planteado en la siguiente pregunta: Sin embargo, a diferencia de quien planteo originalmente la pregunta al correr el código no obtengo ningún resultado podrían ayudarme a resolver este inconveniente y que al hacer click en el Botón Guardar (CommandButton3) del Formulario RCS (frmrcs) el archivo pdf quede configurado con orientación vertical, márgenes superior, inferior, derecho e izquierdo = 1 y en página tamaño carta. Si acaso influye uso Microsoft Excel LTSC MSO (versión 2209 Compilación16.0.1.15629.20200) de 64 bits Mucho le sabre agradecer la ayuda que me pueda dar  RCS PRUEBA - copia.xlsm
    • @JSDJSDCon gusto mi estimado Para la opción 1: Sub Surtirhastadondealcanse() Dim ws As Worksheet Set ws = ThisWorkbook.Sheets(1) Dim filaInicio As Integer: filaInicio = 4 Dim filaFin As Integer: filaFin = 7 Dim colInventario As Integer: colInventario = 2 Dim colSolicitudesInicio As Integer: colSolicitudesInicio = 4 ' Columna C Dim colResultadoInicio As Integer: colResultadoInicio = 9 ' Columna I Dim colTotalSurtido As Integer: colTotalSurtido = 12 ' Columna L Dim colFinalInventario As Integer: colFinalInventario = 13 ' Columna M Dim numClientes As Integer: numClientes = 3 Dim fila As Integer, i As Integer For fila = filaInicio To filaFin Dim inventario As Double inventario = Val(ws.Cells(fila, colInventario).Value) Dim solicitudes(1 To 3) As Double Dim surtido(1 To 3) As Variant Dim totalSurtido As Double: totalSurtido = 0 ' Leer solicitudes For i = 1 To numClientes If IsNumeric(ws.Cells(fila, colSolicitudesInicio + i - 1).Value) Then solicitudes(i) = CDbl(ws.Cells(fila, colSolicitudesInicio + i - 1).Value) Else solicitudes(i) = 0 End If surtido(i) = "POR FALTA STOCK" Next i ' Surtir de acuerdo al inventario disponible For i = 1 To numClientes If solicitudes(i) > 0 Then If inventario >= solicitudes(i) Then surtido(i) = solicitudes(i) inventario = inventario - solicitudes(i) totalSurtido = totalSurtido + solicitudes(i) ElseIf inventario > 0 Then surtido(i) = inventario totalSurtido = totalSurtido + inventario inventario = 0 Else surtido(i) = "POR FALTA STOCK" End If End If Next i ' Escribir resultados en las columnas correspondientes para cada cliente For i = 1 To numClientes With ws.Cells(fila, colResultadoInicio + i - 1) If surtido(i) = "POR FALTA STOCK" Then .Value = surtido(i) .Font.Color = vbRed Else .Value = surtido(i) .Font.Color = vbBlack End If End With Next i ' Escribir total surtido y existencia final ws.Cells(fila, colTotalSurtido).Value = totalSurtido ws.Cells(fila, colFinalInventario).Value = inventario Next fila MsgBox "Resultado surtido cargado con éxito...", vbInformation End Sub Para la opción 2:   Sub surtirenpartesiguales() Dim ws As Worksheet Set ws = ThisWorkbook.Sheets(1) Dim filaInicio As Integer: filaInicio = 13 Dim filaFin As Integer: filaFin = 16 Dim colInventario As Integer: colInventario = 2 Dim colSolicitudesInicio As Integer: colSolicitudesInicio = 4 ' Columna C Dim colResultadoInicio As Integer: colResultadoInicio = 9 ' Columna I Dim colTotalSurtido As Integer: colTotalSurtido = 12 ' Columna L Dim colFinalInventario As Integer: colFinalInventario = 13 ' Columna M Dim numClientes As Integer: numClientes = 3 Dim fila As Integer, i As Integer For fila = filaInicio To filaFin Dim inventario As Double inventario = Val(ws.Cells(fila, colInventario).Value) Dim solicitudes(1 To 3) As Double Dim surtido(1 To 3) As Variant Dim totalSurtido As Double: totalSurtido = 0 Dim totalPedido As Double: totalPedido = 0 ' Leer solicitudes For i = 1 To numClientes If IsNumeric(ws.Cells(fila, colSolicitudesInicio + i - 1).Value) Then solicitudes(i) = CDbl(ws.Cells(fila, colSolicitudesInicio + i - 1).Value) totalPedido = totalPedido + solicitudes(i) Else solicitudes(i) = 0 End If surtido(i) = 0 Next i ' Si hay suficiente inventario, surtir lo que el cliente pide If inventario >= totalPedido Then For i = 1 To numClientes If solicitudes(i) > 0 And inventario >= solicitudes(i) Then surtido(i) = solicitudes(i) inventario = inventario - solicitudes(i) totalSurtido = totalSurtido + solicitudes(i) End If Next i Else ' Reparto base igualitario Dim baseSurtido As Long baseSurtido = Int(inventario / numClientes) For i = 1 To numClientes If solicitudes(i) > 0 Then If solicitudes(i) <= baseSurtido Then surtido(i) = solicitudes(i) inventario = inventario - solicitudes(i) totalSurtido = totalSurtido + solicitudes(i) Else surtido(i) = baseSurtido inventario = inventario - baseSurtido totalSurtido = totalSurtido + baseSurtido End If End If Next i ' Repartir sobrante restante uno por uno, respetando lo pedido Do While inventario > 0 For i = 1 To numClientes If surtido(i) < solicitudes(i) Then surtido(i) = surtido(i) + 1 totalSurtido = totalSurtido + 1 inventario = inventario - 1 If inventario = 0 Then Exit For End If Next i Loop End If ' Escribir resultados en las columnas correspondientes para cada cliente For i = 1 To numClientes With ws.Cells(fila, colResultadoInicio + i - 1) If surtido(i) = 0 Then .Value = "POR FALTA STOCK" .Font.Color = vbRed Else .Value = surtido(i) .Font.Color = vbBlack End If End With Next i ' Escribir total surtido y existencia final ws.Cells(fila, colTotalSurtido).Value = totalSurtido ws.Cells(fila, colFinalInventario).Value = inventario Next fila MsgBox "Resultado surtido cargado con éxito...", vbInformation End Sub Saludos, Diego
    • Buenos dias.  Estoy trabajando en una hoja para poder llevar un control de un pequeño almacén.  Tengo un pedido con varias líneas y "lotes" y necesito sacar las ubicaciones que coincidan con la referencia y lote que pone en el pedido. El problema viene cuando tengo la misma referencia y mismo lote en ubicaciones diferentes y necesito sacar la información en columnas diferentes. No se si  me he explicado bien, pero creo que con el ejemplo adjunto se entiende mejor. Agradecería mucho si me pudieran ayudar  Libro1.xlsx
    • Exelente solución mil gracias 
  • Visualizado recientemente

    • No hay usuarios registrado para ver esta página.
×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.