Saltar al contenido

Agregar cantidades


Recommended Posts

publicado

Hola Amigos , como estan?

Les queria pedir su ayuda si alguien sabe como puedo solucionar mi problema.

Tengo 2 Hojas con codigo producto y otra especifica la cantidad.

Hoja "Orginal" , esta hoja es la que necesita ser modificada. valores de cantidad siempre en 0

Hoja "Nuevo" son los valores que se necesitan cargar en la Hoja "Original".

La ultima hoja que pongo en el excel es la hoja "conmacro" que es como quedaria la hoja "Original" una vez ejecutado el macro.

Desde ya agradezco a quien pueda ayudarme con este problema que me tiene loco y no encuentro solucion.

Gracias de corazon

Jon

ayuda.rar

publicado

Hola @jobuu

Si es para incrementar el valor actual con el nuevo, te dejo esta posible solución. Ahora si es para actualizar, por favor indícalo para modificar el código.

Solucion:

Crea un nuevo modulo con dos variables publicas

Public A As Long
Public B As Long

...y un procedimiento para Agragar nuevo valor:

Sub Agregar()

A = 2
    Do While Hoja1.Cells(A, 1) <> ""
B = 2
    Do While Hoja2.Cells(B, 1) <> ""
    If Hoja2.Cells(B, 1) = Hoja1.Cells(A, 1) Then
        Hoja1.Cells(A, 2) = Hoja1.Cells(A, 2) + Hoja2.Cells(B, 2)
    End If
B = B + 1
Loop
A = A + 1
Loop

End Sub

Saludos.

Ayuda.zip

publicado

Enigma me sirvio solo que cuando lo fui a probar con mi planilla me di cuenta que hay una variable mas.

O sea algunos productos son de solo 1 codigo y otros son de 2 codigos.

Podrias ayudarme ?

Te subo el ejemplo quizas modificando algo del codigo puedas , ya que este anda PERFECTO con una variable.

GRACIAS TOTALESSSSSSSSSSSSSSSSSSS

Ayuda2.rar

publicado

Hola

Este archivo que adjuntas es distinto al original de el post #1 el cual lo trabaje tal y como lo tenias. Ahora este tiene una columna nueva con la que manejas "Codigo2".

publicado

Hola Enigma25 si perdon por mi ignorancia , no lo vi hasta que lo implemente.

Gracias a Dios hay gente como vos.

Se puede modificar el codigo que me pasaste ?

Gracias eternas!

Jon

publicado

Hola

Queria preguntar entonces, un producto puede tener dos codigos? si es asi, seria una consulta si el codigo y el codigo2 cinciden con el codigo y el codigo2

o.... si el codigo es igual a codigo "0" codigo2 es igual a codigo2

No se si me entiendes.

publicado

Enigma te adjunto el archivo que necesito modificar para que veas como es mas claro.

En la Hoja Copiar abria que pasar las cantidades de la Hoja Ordenar.

Si te fijas el producto que no tiene combinacion tiene como valor en combinacion_id 0.

y hay otros que tienen convinaciones como el 281 que tiene 3 combinaciones 4372>4373>4374

Ahi agregue el archivo con un ejemplo

Gracias de corazon

ayuda3.rar

publicado

Un consejo...

Define realmente lo que necesitas antes de crear un tema ya que has modificado el archivo dos veces después del original, lo que dificulta la comprensión y su posible solución.

Cuando tengas listo cual es tu requerimiento o coloques el archivo definitivo, me avisas por favor.

Saludos.

publicado

Enigma tienes toda la razon del mundo !

Soy un ignoranteee.................

Voy a cerrar el tema y ver si lo resuelvo con el que me has hecho que algo por lo menos me adelanta de trabajo.

Lamento mucho mi ignorancia.

Mis sinceras disculpas y muchas gracias por la ayuda!

publicado

Hola

Por favor no mal interpretes. Todos pasamos por eso en que no sabemos como crear un tema en el foro pero por desconocimiento mas no por ignorancia que suena muy feo.

Mi recomendación es que leas las reglas del foro para que estés mas preparado a la hora de crear un tema.

Utilización - Funcionamiento

publicado

Hola Enigma disculpa es de ignorancia porque mi afan de querer solucionarlo pronto no fui claro en lo que ppedia.

Hace dias que no puedo resolver esto me estoy volviendo paranoico... leyendo y buscando....

Subo el archivo modificado nuevamente quizas modificando un parametro de lo que haz hecho funcione...

Voy a esplicar lo mas claro posible.

Hoja modificar : es la original que se encuentra en 0 todos las cantidades.

Hoja Pedido : es la hoja que me llega con cada pedido.

Hoja Modificar Final : es como quedaria despues del macro.

Hice algunos ejemplos y los puse en verde.

Para que se vea como tendria que quedar la hoja " Modificar" al executar el macro.

Te pido mil disculpas por mi ignorancia , no soy de postear mucho en casi ningun foro , entre en este buscando alguna solucion y doy mil gracias por este foro!

Saludos y gracias eternas

ayuda3.rar

publicado

...una pregunta... estas usando access para el registro de los productos? porque el ver el Product ID asumo que es el id del producto el cual lo relaciones con códigos alternos...

No se si estoy en lo correcto?

publicado

Hola Enigma , el archivo lo exporto de una base de datos web.

Sql.

Gracias un abrazo desde Buenos Aires , Argentina.

Jon

@ si ves una opcion al utilizar access soy todo oidos no me gusta mucho y no lo se usar pero si me ayuda a bajar el trabajo estoy dispuesto aprender.

Saludos

publicado

Hola

El problema es que tienes celdas vacías en la hoja "Modificar" y como estoy empleando un bucle do while "Hacer mientras", este terminará en cuanto encuentre un celda vacia, valga la redundancia. Por ende no podré hacerlo. Si encuentras una manera de llenar dichas celdas, seria genial.

publicado

Hola Enigma se me ocurre una idea darle click a la columna "A" y buscar los espacios vacios y remplazarlos por el caracter -. asi no quedaran vacios. Una vez ejecutado el macro volver a remplazar por los espacios vacios ?

Puede esta ser una solucion a tu problema?

Gracias de corazon.

Jon

publicado

Hola enigma lo fui a probar en mi planilla pero no veo el macro ? esto es posible ?

Esta escondido o que ?

Disculpa por mi ignorancia

Saludos

Jon

publicado

Hola enigma el boton lo vi , quiero exportarlo a la planilla original y no se como ya que la planilla que mande era una muestra.

Saludos.-

@ Cuando me pases este dato te aviso si funciona o no.

Graciaaaaaaaaaaaaaaaaaaaaasssssssssssssssssssssssssssssssssssssss

  • Silvia bloqueó este tema

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.