Documentos de Académico
Documentos de Profesional
Documentos de Cultura
APLICADAS
FACULTAD DE INGENIERÍA
INGENIERÍA INDUSTRIAL
CURSO:
Algoritmos
SECCIÓN:
IV41
TRABAJO FINAL
PROFESOR:
INTEGRANTES:
LIMA – PERÚ
1
ÍNDICE
INTRODUCCIÓN
DESCRIPCIÓN DE LA EMPRESA______________________________. 3
ANÁLISIS DEL SECTOR______________________________________ 4
ANÁLISIS INTERNO – MAPA DE PROCESOS____________________ 5
MISIÓN Y VISIÓN DE LA 6
EMPRESA____________________________
MARCO TEÓRICO
DESCRIPCIÓN DEL PROYECTO_______________________________ 7
PLANTEAMIENTO DE LA IDEA_______________________________ 7
CONTENIDO________________________________________________ 7
RESULTADOS ______________________________________________ 10
PROBLEMÁTICA
IDENTIFICACIÓN DEL PROBLEMA___________________________ 10
DEFINICIÓN DEL PROBLEMA________________________________. 11
ASPECTOS A 11
CONSIDERAR___________________________________
ETAPAS DE LAL SOLUCIÓN__________________________________ 12
ALCANCE DEL PROYECTO___________________________________ 22
RECURSOS _________________________________________________ 22
PLANTEAMIENTO DE LA SOLUCIÓN
OBJETIVOS 22
_________________________________________________
MODELOS 23
__________________________________________________
MODELO DE SOLUCIÓN 23
LÓGICA___________________________
BIBLIOGRAFÍA 52
2
1. INTRODUCCIÓN
El uso del programa Microsoft Excel ha ido creciendo conforme pasan los años. Sin
embargo, desde que se creó en 1985 ha sido de utilidad para infinidad de empresas. Este
programa se caracteriza por realizar cálculos importantes y básicos para el estudio de
una empresa o de algún resultado de investigación de datos, además de realizar gráficos
varios. Una de las funciones que llama la atención del programa es la de Desarrollador.
Por esto, en el curso de Algoritmos se proporciona conocimientos fundamentales sobre
programación, tales como el control de flujo de programas, la administración de
almacenamiento de datos y las estructuras de datos elementales. Además, se estudia la
importancia del desarrollador de Excel llamado Visual Basic for Applications (VBA),
promoviendo el análisis, entendimiento y aprendizaje del proceso de pensamiento
computacional a través de la traducción de problemas de ingeniería del entorno real a
problemas de computación. Asimismo, se busca contribuir al desarrollo de
competencias generales de Razonamiento cuantitativo y Pensamiento innovador.
El siguiente informe detalla nuestro proyecto final del curso, el cual se basa en
gestionar, organizar y mejorar los procesos de operación en el almacén de la empresa
BRRAO S.A.C. con la ayuda de una macro (Excel VBA). En este, procederemos a
ayudar con los informes de almacén de la empresa, también la distribución óptima de
insumos y materiales respecto con los proyectos programados durante un periodo de
tiempo que puedan dar soporte a los procesos funcionales que ayuden a las diferentes
actividades de la empresa y sobre todo a medir la eficiencia de las cotizaciones
comparando los gastos obtenidos en los proyectos en obra reales en comparación a lo
cotizado.
3
1.1. DESCRIPCIÓN DE LA EMPRESA
4
Sistema de Alarma de Incendio:
5
La base para la extinción de incendios de áreas críticas es el gas FM-200 es un
agente extintor limpio, seguro y aceptado por regulaciones ambientales, además
cumple con estándares de SOLUCIONES seguridad como UL, EPA y NFPA,
actualmente es considerado como a elección líder en el mercado. El Gas FM-200
actúa químicamente apagando el incendio a nivel molecular, inhibiendo la reacción
de la combustión
Los sistemas de extinción mediante espuma son sistemas fijos. Se usan para fuegos
de materiales sólidos y líquidos y, con ciertas restricciones, en incendios de
materiales gaseosos.
Los sistemas de agua son los más difundidos, por ser el agua el agente extintor de
abundante disponibilidad y bajo costo económico.
2. Sistema de impulsión.
La red de suministro debe garantizar la presión y caudal necesarios para los casos de
máxima demanda por parte de los sistemas de extinción, ya sean instalaciones fijas
6
(BIEs, hidrantes), sistemas automáticos (rociadores) o medios humanos de extinción
(bomberos).
Red general de incendios: Se denomina así, a las conducciones que llevan el agua
desde las fuentes de alimentación hasta los medios de extinción.
7
8
SISTEMA CONTROL DE ACCESO:
9
histórico de entradas de personas a todas las áreas (buscar sospechosos en caso de
algún incidente).
Trabajamos con las marcas más conocidas del Mercado como: Sipass SIEMENS,
Winpak Northern, American Automatrixs, Nexsentry, etc.
SISTEMA DE INTRUSIÓN:
10
La empresa considera que sus clientes son su mejor aval y principal garantía. Por
ello, agradecen la confianza que les han brindado y que ha permitido que sean una
empresa sólida y de futuro.
11
1.2. ANÁLISIS DEL SECTOR
MACROENTORNO
Factor económico: Para la empresa es importante la estabilidad
económica del cliente, de ello depende el brindar un servicio con
más calidad que el estándar.
Factor ecológico: La empresa ayuda a la ecología del planeta
tratando que el uso de gases tóxicos sea nulo.
Factor político-legal: La empresa se encuentra inscrita como
Sociedad Anónima Cerrada con RUC N° 20491911116.
Factor Tecnológico: La empresa está en constante innovación
para poder darle la mejor tecnología en brindar sus servicios.
Factor Sociocultural: La empresa tiene una página web amigable,
donde nos explica algunos ámbitos de la empresa. Como los
servicios que brinda, las empresas con las que trabaja
actualmente, etc.
MICROENTORNO
FISA Perú
Siemens
Abb
Fire&Mantto
12
Westfire.
· Misión:
· Visión:
Ser una empresa líder en ética, calidad, garantía e innovación con el fin
de superar las expectativas de nuestros clientes, con el personal
capacitado y adecuado a sus necesidades; contribuyendo al crecimiento
de su organización mediante soluciones eficaces, rentables y viables
para que nuestros clientes se sientan más seguros, protegidos e
informados acerca de la seguridad de sus patrimonios y la vida de las
personas.
13
Esto lo realizamos porque nos preocupa el tener lugares de trabajo y
vivienda con mayor seguridad ante los eventuales sucesos; como
incendios, robos e identificación de personal, que permitan mejorar la
seguridad y calidad de vida de nuestros clientes.
Valores:
● Honestidad
● Responsabilidad
● Puntualidad
● Disciplina
● Profesionalismo
● Vocación de servicio
ORGANIGRAMA EMPRESARIAL:
14
15
1.4. ANÁLISIS INTERNO
FORTALEZAS DEBILIDADES
- Cuentan con gran experiencia - La página web es un poco
en la instalación de servicios. anticuada.
- Amplio catálogo de servicios. - En la empresa no hay un
- Precios de acorde a la encargado del marketing
empresa a trabajar. online.
- Gastos de envío reducidos.
- Capacidad de inversión
OPORTUNIDADES AMENAZAS
- Existe alto volumen de - Existe mucha competencia en
potenciales clientes. el sector.
- Hay una tendencia creciente - La competencia también
en la búsqueda de brindar los cuenta con recorrida
servicios. experiencia.
16
- Se observa una mejora de la - Todavía hay falta de
situación económica. seguridad en los clientes a la
hora de optar por nuestros
servicios.
Fuentes: Elaboración Propia
2. MARCO TEÓRICO
17
herramientas destinadas a los diferentes proyectos a ejecutar. La empresa podrá
visualizar la disponibilidad de materiales y herramientas y solicitar las mismas
mediante la propuesta de macro que se les presentará. Asimismo, el programa
arrojará mensajes de error en caso se quiera solicitar un herramientas o
materiales que no se encuentren en almacén y realizará una comparación final
acerca de lo ganado o perdido por proyecto ejecutado.
2.3. CONTENIDO
El proyecto será elaborado en Excel, se contará con una base de datos del
inventario otorgado por la empresa donde se realizará la separación por
herramientas y materiales. Para realizar el programa en Excel, primero, se
tendrá que elaborar un pseudocódigo que permitirá tener una visión de lo que se
digitará en el VBA.
Este algoritmo contará con las estructuras aprendidas en las diversas unidades
del curso
18
Select case
Do While -
Loop
Entrada controladas
For - Next
19
En este proyecto también se hará uso de estructura de datos por medio de vectores y
matrices:
Tabla N°1
Tabla N°5
Tabla N°6
Siempre devuelve un
20
Si hubiera uno o más
resultados, estos se
muestran dentro del
procedimiento.
Para usar los
procedimientos se los
llama por su nombre.
3. PROBLEMÁTICA:
3.1. IDENTIFICACIÒN DEL PROBLEMA
La falta de un control adecuado dentro de un área tan importante para una empresa
como es la de almacén genera un déficit al momento de ejecución de un proyecto.
Las consecuencias conllevan a perdidas monetarias por mala gestión de
herramientas y materiales, sea por mayor o menor volumen de compra de lo que se
21
requería, perdida monetaria en materiales y/o herramientas por no ser costeados
dentro del proyecto.
Se considerará lo siguiente:
Verificación de disponibilidad:
Advertencia de stock
22
con datos reales para la elaboración del estado de ganancia o pérdida de
proyectos. Los costos serán referenciados mediante la función aleatorio de
Excel.
4. PLANTEAMIENTO DE LA SOLUCIÓN
4.1. OBJETIVOS:
Objetivo principal:
Objetivos específicos:
23
Implementar un kardex para un mejor control de inventarios.
Etiquetar por códigos de barra los materiales y herramientas.
Implementar un programa de desempeño para los cotizadores de
proyectos.
Establecer una zona de stock de alta rotación con los materiales más
solicitados.
4.2. MODELOS
4.2.1. MODELO DE SOLUCION LOGICA
El aplicativo programado para la solución sigue una secuencia lógica que
permite llegar a una solución.
Paso 2: Disponibilidad 1
Paso 4: Cantidades
24
Paso 6: Almacenamiento de los datos
De acuerdo a los datos de las cantidades utilizadas y los costos de las mismas, la
macro nos mostrará si el proyecto es favorable para la empresa y nos mostrará el
porcentaje de diferencia entre los costos.
25
seudocódigo: NuevoProyecto
Genera un nuevo código identificador de proyecto y limpia los posibles datos existentes.
INICIO
Temporal = 2, Cantidad = 0, Codigo_Proyecto = "", Nuevo_Codigo_Proyecto =
""
Leer Matriz_Proyecto
Repetir
Temporal = Temporal + 1
Codigo_Proyecto = Matriz_Proyecto(Temporal,0)
Si Codigo_Proyecto = "" entonces
Terminar Repetir
Sino
Cantidad = Cantidad + 1
Fin de Si
Hasta Codigo_Proyecto = ""
Cantidad = Cantidad + 1
Nuevo_Codigo_Proyecto = "PROYECTO " & Cantidad
Mostrar Nuevo_Codigo_Proyecto
26
Leer Matriz_Productos_Proyecto
Para Item = 0 Hasta 10 Hacer
Matriz_Productos_Proyecto(Item, 0) = ""
Matriz_Productos_Proyecto(Item, 1) = ""
Matriz_Productos_Proyecto(Item, 2) = ""
Matriz_Productos_Proyecto(Item, 3) = ""
Matriz_Productos_Proyecto(Item, 4) = ""
Fin Para
FIN
seudocódigo: Función CalcularIngresos
Calcula la cantidad total de unidades de un producto que han ingresado al almacén.
INICIO
Codigo_Producto = "", Condicion = "", Auxiliar = 2, Ingresos = 0
Leer Codigo
Repetir
Codigo_Producto = Matriz_Movimientos(Auxiliar, 1)
Condicion = Matriz_Movimientos(Auxiliar, 3)
Si Codigo_Producto = Codigo y Condicion = "ENTRADA" entonces
Ingresos = Ingresos + Matriz_Movimientos(Auxiliar, 4)
Fin de Si
Auxiliar = Auxiliar + 1
Hasta Codigo_Producto = ""
27
Retornar Ingresos
FIN
seudocódigo: Función CalcularSalidas
Calcula la cantidad total de unidades de un producto que han salido del almacén.
INICIO
Codigo_Producto = "", Condicion = "", Auxiliar = 2, Salidas = 0
Leer Codigo
Repetir
Codigo_Producto = Matriz_Movimientos(Auxiliar, 1)
Condicion = Matriz_Movimientos(Auxiliar, 3)
Si Codigo_Producto = Codigo y Condicion = "SALIDA" entonces
Salidas = Salidas + Matriz_Movimientos(Auxiliar, 4)
Fin de Si
Auxiliar = Auxiliar + 1
Hasta Codigo_Producto = ""
Retornar Salidas
FIN
seudocódigo: Función ExisteProducto
Verifica si en el almacén se encuentra registrado un producto con determinado código.
INICIO
Codigo_Producto = "", Auxiliar = 2, Existe = Falso
Leer Codigo
Repetir
Codigo_Producto = Matriz_Productos(Auxiliar, 0)
Si Codigo_Producto <> "" y Codigo_Producto = Codigo entonces
Existe = Verdadero
Fin de Si
Auxiliar = Auxiliar + 1
Hasta Codigo_Producto = "" o Existe = Verdadero
Retornar Existe
FIN
29
seudocódigo: Función ExisteStock
Verifica si en el almacén se cuenta con stock suficiente para un producto con
determinado código y cantidad.
INICIO
Codigo_Producto="", Auxiliar=2, Cantidad_Producto=0, Existe=Falso
Leer Codigo, Cantidad
Repetir
Codigo_Producto = Matriz_Productos(Auxiliar, 0)
Cantidad_Producto = Matriz_Productos(Auxiliar, 5)
Si Codigo_Producto <> "" y Codigo_Producto = Codigo y
Cantidad_Producto >= Cantidad entonces
Existe = Verdadero
Fin de Si
Auxiliar = Auxiliar + 1
Hasta Codigo_Producto = "" o Existe = Verdadero
Retornar Existe
FIN
30
seudocódigo: Función ObtenerProducto
Obtiene el nombre de un producto con determinado código.
INICIO
Codigo_Producto = "", Auxiliar = 2, Nombre_Producto = ""
Leer Codigo
Repetir
Codigo_Producto = Matriz_Productos(Auxiliar, 0)
Si Codigo_Producto <> "" y Codigo_Producto = Codigo entonces
Nombre_Producto = Matriz_Productos(Auxiliar, 1)
Fin de Si
Auxiliar = Auxiliar + 1
Hasta Codigo_Producto = "" o Nombre_Producto <> ""
Retornar Nombre_Producto
FIN
31
seudocódigo: Función ObtenerCostoProducto
Obtiene el nombre de un producto con determinado código.
INICIO
Codigo_Producto = "", Auxiliar = 2, Costo_Producto = -1.0
Leer Codigo
Repetir
Codigo_Producto = Matriz_Productos(Auxiliar, 0)
Si Codigo_Producto <> "" y Codigo_Producto = Codigo entonces
Costo_Producto = Matriz_Productos(Auxiliar, 6)
Fin de Si
Auxiliar = Auxiliar + 1
Hasta Codigo_Producto = "" o Costo_Producto >= 0
Retornar Costo_Producto
FIN
32
seudocódigo: Función ActualizarStockProducto
Actualiza el stock de un producto con determinado código.
33
seudocódigo: Función AgregarProducto
Registra un producto al proyecto.
INICIO
34
Codigo_Producto = "", Nombre_Producto = "", ProductoMayorCantidad = "",
ProductoMayorCosto = "", Existe_Producto = Falso, Existe_Stock = Falso,
Cantidad_Producto = 0, Auxiliar = 0, Temporal = 9, AuxiliarProyecto = 0,
AuxiliarReporte = 0, MayorCantidad = 0, Costo_Producto = 0.0, Monto_Total = 0.0,
MayorCosto = 0.0
Repetir
Si Matriz_Productos_Proyecto(Temporal, 0) = "" entonces
Auxiliar = Temporal
Fin de Si
Monto_Total = Monto_Total + Matriz_Productos_Proyecto(Temporal,4)
Temporal = Temporal + 1
Hasta Auxiliar > 0 o Temporal = 19
Temporal = 3
Repetir
Si Matriz_Proyectos(Temporal, 0) = "" entonces
AuxiliarProyecto = Temporal
Fin de Si
Temporal = Temporal + 1
Hasta AuxiliarProyecto > 0
Temporal = 3
Repetir
Si Matriz_Proyectos(Temporal, 9) = "" entonces
Si Auxiliar = 9 entonces
AuxiliarReporte = Temporal
Sino
AuxiliarReporte = Temporal – 1
Fin de Si
Terminar Repetir
Fin de Si
35
Temporal = Temporal + 1
Hasta AuxiliarReporte > 0
Existe_Producto = ExisteProducto(Codigo_Producto)
Si Existe_Producto = Verdadero entonces
Nombre_Producto = ObtenerProducto(Codigo_Producto)
Repetir
Mostrar "Ingrese la cantidad de " + Nombre_Producto +
":"
Leer Cantidad_Producto
Si Cantidad_Producto > 0 entonces
Existe_Stock = ExisteStock(Codigo_Producto,
Cantidad_Producto)
Si Existe_Stock = Falso entonces
Mostrar "No se cuenta con el stock
requerido. Ingrese una cantidad menor o ingrese otro producto"
Terminar
Sino
Costo_Producto =
ObtenerCostoProducto(Codigo_Producto)
Fin de Si
Fin de Si
Hasta Existe_Stock = Verdadero
Matriz_Productos_Proyecto(Auxiliar, 0) = Codigo_Producto
Matriz_Productos_Proyecto(Auxiliar, 1) = Nombre_Producto
36
Matriz_Productos_Proyecto(Auxiliar, 2) = Cantidad_Producto
Matriz_Productos_Proyecto(Auxiliar, 3) = Costo_Producto
Matriz_Productos_Proyecto(Auxiliar, 4) = Cantidad_Producto *
Costo_Producto
Matriz_Productos_Proyecto(19, 4) = Monto_Total +
Cantidad_Producto * Costo_Producto
Matriz_Productos_Proyecto(4, 1) = ""
Matriz_Proyectos(AuxiliarProyecto, 0) =
Matriz_Productos_Proyecto(7, 0)
Matriz_Proyectos(AuxiliarProyecto, 1) = Codigo_Producto
Matriz_Proyectos(AuxiliarProyecto, 2) = Nombre_Producto
Matriz_Proyectos(AuxiliarProyecto, 3) = Cantidad_Producto
Matriz_Proyectos(AuxiliarProyecto, 4) = Costo_Producto
Matriz_Proyectos(AuxiliarProyecto, 5) = Cantidad_Producto *
Costo_Producto
MayorCantidad = Matriz_Productos_Proyecto(9, 2)
ProductoMayorCantidad = Matriz_Productos_Proyecto(9, 0) + " –
" + Matriz_Productos_Proyecto(9, 1)
Para Item = 9 Hasta Auxiliar Hacer
Si Matriz_Productos_Proyecto(Item, 2) > MayorCantidad
entonces
MayorCantidad =
Matriz_Productos_Proyecto(Item, 2)
ProductoMayorCantidad =
Matriz_Productos_Proyecto(Item, 0)+ " – " +Matriz_Productos_Proyecto(Item, 1)
Fin de Si
Fin Para
Matriz_Productos_Proyecto(21, 2) = ProductoMayorCantidad
MayorCosto = Matriz_Productos_Proyecto(9, 4)
ProductoMayorCosto = Matriz_Productos_Proyecto(9, 0) + " – "
+ Matriz_Productos_Proyecto(9, 1)
37
Para Item = 9 Hasta Auxiliar Hacer
Si Matriz_Productos_Proyecto(Item, 4) > MayorCosto
entonces
MayorCosto = Matriz_Productos_Proyecto(Item,
4)
ProductoMayorCosto =
Matriz_Productos_Proyecto(Item, 0)+ " – " +Matriz_Productos_Proyecto(Item, 1)
Fin de Si
Fin Para
Matriz_Productos_Proyecto(22, 2) = ProductoMayorCosto
Matriz_Proyectos(AuxiliarReporte, 9) =
Matriz_Productos_Proyecto(7, 0)
Matriz_Proyectos(AuxiliarReporte, 10) = Monto_Total +
Cantidad_Producto * Costo_Producto
Sino
Mostrar "No se encontró el producto indicado. Verifique"
Fin de Si
Sino
Mostrar "Ya no se pueden ingresar más productos al proyecto"
Matriz_Productos_Proyecto(4, 1) = ""
Fin de Si
FIN
seudocódigo: Función ExisteProyecto
Verifica si se encuentra registrado un proyecto con determinado código.
38
INICIO
Codigo_Proyecto = "", Auxiliar = 2, Existe = Falso
Leer Codigo
Repetir
Codigo_Proyecto = Matriz_Proyectos(Auxiliar, 0)
Si Codigo_Proyecto <> "" y Codigo_Proyecto = "PROYECTO " &
Codigo entonces
Existe = Verdadero
Fin de Si
Auxiliar = Auxiliar + 1
Hasta Codigo_Proyecto = "" o Existe = Verdadero
Retornar Existe
FIN
seudocódigo: ActualizaStockAlmacen
Actualiza el stock de todos los productos registrados en el almacén
39
Matriz_Productos(Auxiliar, 3) = Ingresos
Matriz_Productos(Auxiliar, 4) = Salidas
Matriz_Productos(Auxiliar, 5) = Ingresos - Salidas
Matriz_Productos(Auxiliar, 7) = (Ingresos – Salidas) *
Costo_Producto
Fin de Si
Auxiliar = Auxiliar + 1
Hasta Codigo_Producto = ""
FIN
seudocódigo: RegistrarMovimiento
Registra los movimientos de entrada y salida de los productos
INICIO
Tipo_Movimiento = "", Codigo_Producto = "", Nombre_Producto = "",
Existe_Producto = Falso, Existe_Stock = Falso, Cantidad_Producto = 0,
Ultimo_Movimiento = 0, Temporal = 0, Codigo_Movimiento = 0, Auxiliar = 1
Repetir
Temporal = Matriz_Movimientos(Auxiliar+1, 0)
Si Temporal <> "" entonces
Ultimo_Movimiento = Temporal
40
Fin de Si
Auxiliar = Auxiliar +1
Hasta Temporal = ""
Codigo_Movimiento = Ultimo_Movimiento + 1
Repetir
Mostrar "Ingrese el tipo de movimiento a registrar (ENTRADA O
SALIDA)"
Leer Tipo_Movimiento
Hasta Tipo_Movimiento = "ENTRADA" o Tipo_Movimiento = "SALIDA"
Repetir
Mostrar "Ingrese el código del producto"
Leer Codigo_Producto
Existe_Producto = ExisteProducto(Codigo_Producto)
Si Existe_Producto = Falso entonces
Mostrar "No se encontró el producto indicado. Verifique"
Fin de Si
Hasta Existe_Producto = Verdadero
Repetir
Mostrar "Ingrese la cantidad del producto"
Leer Cantidad_Producto
Si Tipo_Movimiento = "SALIDA" entonces
Existe_Stock = ExisteStock(Codigo_Producto,
Cantidad_Producto)
Si Existe_Stock = Falso
Mostrar "No se cuenta con el stock requerido. Urge
abastecer"
Fin de Si
Sino
Existe_Stock = Verdadero
Fin de Si
41
Hasta Existe_Stock = Verdadero
Nombre_Producto = ObtenerProducto(Codigo_Producto)
Matriz_Movimientos(Auxiliar, 0) = Codigo_Movimiento
Matriz_Movimientos(Auxiliar, 1) = Codigo_Producto
Matriz_Movimientos(Auxiliar, 2) = Nombre_Producto
Matriz_Movimientos(Auxiliar, 3) = Tipo_Movimiento
Matriz_Movimientos(Auxiliar, 4) = Cantidad_Producto
Matriz_Movimientos(Auxiliar, 5) = Fecha(Fecha_Sistema)
ActualizarStockProducto(Codigo_Producto)
FIN
seudocódigo: RegistrarGastoReal
Registra el gasto real de un proyecto y compara con el costo presupuestado para obtener
la condición de pérdida o ganancia.
INICIO
Codigo_Proyecto = "", Nombre_Proyecto = "", Existe_Proyecto = Falso,
Costo_Proyecto = 0.0, Gasto_Real = 0.0, Auxiliar = 2
Repetir
Mostrar "Ingrese el número del producto"
42
Leer Codigo_Proyecto
Existe_Proyecto = ExisteProyecto(Codigo_Proyecto)
Si Existe_Proyecto = Falso entonces
Mostrar "No se encontró el proyecto indicado. Verifique"
Fin de Si
Hasta Existe_Proyecto = Verdadero
Repetir
Si Matriz_Proyectos(Auxiliar, 9) = "PROYECTO " + Codigo_Proyecto
entonces
Nombre_Proyecto = Matriz_Proyectos(Auxiliar, 9)
Costo_Proyecto = Matriz_Proyectos(Auxiliar, 10)
Salir de Repetir
Fin de Si
Auxiliar = Auxiliar +1
Hasta Nombre_Proyecto <> ""
Repetir
Mostrar "Ingrese el gasto real para el " + Nombre_Proyecto + ":"
Leer Gasto_Real
Hasta Gasto_Real > 0
43
Fin de Si
Fin de Si
FIN
5. Implementación completa de la solución en Visual Basic para Aplicaciones
(VBA)
PRINCIPAL
Private Sub CommandButton1_Click() ' hay que usar un boton para limpiar todo
Temporal = 2
Cantidad = 0
Do
Temporal = Temporal + 1
Exit Do
Else
Cantidad = Cantidad + 1
End If
Cantidad = Cantidad + 1
44
Nuevo_Codigo_Proyecto = "PROYECTO " & Cantidad
For Item = 0 To 10
Next Item
Worksheets("PRINCIPAL").Cells(19, "E") = 0
End Sub
PROYECTO
45
Do
Existe_Proyecto = Módulo1.ExisteProyecto(Codigo_Proyecto)
End If
Indice = 0
Auxiliar = 2
Do
Exit Do
End If
Auxiliar = Auxiliar + 1
Indice = Indice + 1
Do
GastoReal = InputBox("Ingrese el gasto real para el " & Nombre_Proyecto & ":")
46
Loop Until GastoReal > 0
Else
End If
End If
End If
End Sub
PRODUCTOS
Indice = 0
Auxiliar = 2
Do
47
Codigo_Producto = Worksheets("PRODUCTOS").Cells(Auxiliar, "A").Value
Ingresos = Módulo1.CalcularIngresos(Codigo_Producto)
Salidas = Módulo1.CalcularSalidas(Codigo_Producto)
End If
Auxiliar = Auxiliar + 1
Indice = Indice + 1
End Sub
ALMACÈN
48
Auxiliar = 1
Do
Ultimo_Movimiento = Temporal
End If
Auxiliar = Auxiliar + 1
Codigo_Movimiento = Ultimo_Movimiento + 1
Do
Do
Existe_Producto = Módulo1.ExisteProducto(Codigo_Producto)
End If
49
Do 'usen contadores
End If
Else
Existe_Stock = True
End If
Nombre_Producto = Módulo1.ObtenerProducto(Codigo_Producto)
'asigenmos bien los nombres y no cambiemos los nombres de las hojas de calculo
50
Worksheets("ALMACÉN").Cells(Auxiliar, "F") = DateValue(Now)
Módulo1.ActualizarStockProducto (Codigo_Producto)
End Sub
7. Conclusiones y Recomendaciones
51
8. Bibliografía
-.(2014). Manual básico para empezar a trabajar con macros de Visual Basic
para Excel. Universidad Politécnica de Valencia. Recuperado de:
http://personales.upv.es/jpgarcia/linkeddocuments/macrosvisualbasicparaexcel.
pdf
Acosta, P. (2010). MS Excel 2007 con Programación de Macros en Visual
Basic Application. Universidad Jaime I. Recuperado de:
https://www3.uji.es/~berbel/Visual%20Basic/Manuales/Excelvbaplication
%202010.pdf
Acosta, N. y Acosta, T. (2015). Introducción a la programación en Excel con
Visul Basic Application. Escuela Politécnica Nacional. Recuperado de:
https://bibdigital.epn.edu.ec/bitstream/15000/11934/1/Introducci%C3%B3n
%20en%20Excel%20con%20VBA.pdf
Gonzalez, J. [Excel y Más]. (2014, Mayo 7). Gestor de Inventarios Parte 1 |
Instrucción For... Next | VBA Excel 2013 #22. [Archivo de video]. Recuperado
de: https://www.youtube.com/watch?v=dfi50tONKpo&feature=youtu.be
Olvera González, G. P., Sánchez Y Torres, M. (2004). Reducción de quejas
mediante el control de inventarios y mejora en el flujo de información.
Universidad de las Américas Puebla. Recuperado de:
http://catarina.udlap.mx/u_dl_a/tales/documentos/lii/olvera_g_gp/
52
2. Trabajadores instalando los servicios que brinda la empresa.
ENLACES:
53
Información de la empresa
54