Documento de Residencia
Documento de Residencia
Documento de Residencia
D.G.E.S.T.
D.I.T.D.
OPCIN (X)
INFORME DE RESIDENCIA PROFESIONAL
PRESENTA:
NDICE
Pgina
INTRODUCCIN.
vii
1.2 Misin......
1.3 Visin...
1.4 Ubicacin....
1.5 Giro......
2.3 Justificacin....
2.4 Objetivos.....
2.5 Alcances.
2.6 Limitaciones..........
11
11
13
13
14
ii
3.5 Macros....
15
16
17
17
18
18
19
19
20
22
22
4.2 Diseo.....
28
28
28
28
28
29
29
29
4.3 Codificacin...........
29
4.4. Pruebas..
29
CAPTULO V. RESULTADOS
5.1 Inicio de correo electrnico..
32
32
iii
37
39
42
FUENTES DE INFORMACIN.....
44
GLOSARIO.......
46
ACRNIMOS.......
47
ANEXOS...
49
iv
NDICE DE FIGURAS
Pgina
Figura 1.1 Mapa de localizacin de T-Systems S.A. de C.V....
12
14
15
17
20
32
33
34
35
36
36
37
38
38
39
40
40
41
NDICE DE TABLAS
Pgina
Tabla 4.1 Diseo de Monitoring Log....
23
24
24
25
26
26
27
vi
INTRODUCCIN
Visual Basic para aplicaciones es una combinacin del entorno de programacin
integrado; denominado Editor de Visual Basic y del lenguaje de programacin Visual
Basic, permitiendo disear y desarrollar programas en Visual Basic con gran
facilidad. El trmino para aplicaciones hace referencia al hecho de que el lenguaje
de programacin y las herramientas de desarrollo estn integradas con las
aplicaciones de Microsoft Office (Excel 2007), de forma que se puedan desarrollar
nuevas funcionalidades y soluciones que conlleven a favorecer y dar resultados.
En el presente trabajo se describen los complementos que se integraron a los
reportes que son utilizados en el departamento de Production Planning de la
empresa T-Systems S.A. de C.V.
Con ello es posible pensar en la automatizacin de reportes de indicadores
clave de desempeo (KPIS) a travs de VBA-EXCEL 2007, que surgen de la
necesidad de minimizar los procesos de bsqueda y generacin de informes
elaborados por personal del rea, mismos que contribuyen a disminuir la prdida de
tiempo y sobre todo la confusin y errores que puedan existir al realizar los informes
de manera manual.
La ejecucin del proyecto est orientada a lograr un mejor rendimiento dentro del
rea Production Planning, el cual se refleja en dos puntos fundamentales:
vii
Enseguida se presenta el segundo captulo, donde se abordan los motivos por los
cuales se realiza la aplicacin, as como el rea donde se implantar.
En el tercer captulo se especifica el proceso requerido para la realizacin de la
aplicacin y las herramientas utilizadas para llevar a cabo su desarrollo.
Posteriormente en el cuarto captulo se explica de manera detallada la
metodologa que conduce a la elaboracin de cada uno los mdulos de la aplicacin.
Finalmente en el ltimo captulo se muestran los resultados obtenidos en la
generacin de los reportes del rea de Production Planning.
viii
CAPTULO I
GENERALIDADES DE LA EMPRESA
1.2 Misin
Estamos moldeando el futuro de un mundo de negocios y una sociedad
conectados. Adems, estamos creando valor agregado a nuestros clientes,
empleados e inversionistas a travs de soluciones innovadoras de ICT
1.3 Visin
T-Systems Mxico ser reconocida como una de las top 3 empresas en servicios
de ICT en Mxico, posicionndose adems, como la empresa ms rentable del
Grupo.
1.4 Ubicacin
La ubicacin actual de la empresa T-Systems S.A. de C.V., es Cerrada Fresnos
Nave 1 A y B, Parque Industrial FINSA, Cuautlancingo, Puebla. Como se muestra en
la Figura 1.1 y 1.2.
1.5 Giro
Se dedica, entre otras actividades a desarrollar, operar, crear, comercializar y disear
cualquier tipo de soluciones en materia de tecnologas de la informacin as como el
procesamiento y administracin de los datos.
CAPTULO II
MARCO REFERENCIA
Disear, crear y liberar los Master Plan para todos los clientes.
Principales Metas:
2.3 Justificacin
Solucionar el problema citado trae consigo distintos beneficios para el rea de PPL,
entre los que destacan:
Eficiencia y eficacia del rea: Los reportes sern generados con el mnimo
esfuerzo, permitiendo a los empleados actualizarlos rpidamente con un solo
clic y llevar a cabo otras actividades que anteriormente se retrasaban por la
cantidad de trabajo.
2.4 Objetivos
2.4.1 Objetivo general
Desarrollar, implementar y complementar macros en el rea de Production Planning,
para facilitar las actividades de generacin y presentacin de reportes, mediante el
empleo de VBA-Microsoft Office Excel 2007.
2.4.2 Objetivos especficos
2.5 Alcances
Automatizacin de los reportes.
Ahorro de tiempos de registro.
Obtencin de estadsticas semanales, mensuales y anuales.
Mayor eficiciencia y eficacia en el desempeo de cada empleado.
2.6 Limitaciones
CAPTULO III
MARCO TERICO
10
Utiliza hojas para divisin de datos tanto numricos como otros formatos.
11
12
Visual Basic Script (VBScript): Lenguaje para Activate Server Pages (ASP).
13
compartida por todas las dems versiones de Microsoft Office. En la figura 3.2 se
puede apreciar el entorno que presenta VBA al momento de ser utilizado.
3.5 Macros
Enciclopedia virtual (2014). Una macro es un conjunto de comandos que se
almacena en un lugar especial de Excel de manera que estn siempre disponibles
cuando sea necesario ejecutarlos.Constan de una serie de instrucciones escritas en
Visual Basic, lenguaje que Excel puede entender, mediante macros en VBA se
pueden crear nuevas funciones para las hojas de Excel, desde cosas simples, como
cambiar un texto a negrita, cursiva y justificado, personalizar estilos y formatos o
crear programas para la resolucin de clculos complejos y automatizar tareas.
Por ejemplo, si todas las maanas se crea un reporte de ventas donde siempre
se le da el mismo formato a los textos, se podra crear una macro para que lo haga
automticamente. Las macros son utilizadas principalmente para eliminar la
necesidad de repetir los pasos de aquellas tareas que se realizan una y otra vez.
15
Tiene exactamente una entrada y una salida para control del programa.
Existen caminos a seguir desde la entrada hasta la salida que conducen por
cada parte del programa, es decir, no existen lazos infinitos ni instrucciones
que no se ejecutan.
La ventaja de utilizar ste tipo de programacin radica en que las instrucciones son
fciles de leer, comprender y codificar permitiendo aprovechar al mximo los
recursos de la computadora.
16
17
18
19
20
CAPTULO IV
METODOLOGA
21
4.1 Planificacin
Monitoring Log: Es un registro utilizado para controlar las DOs que se manejan
da a da, as como para dar seguimiento a los requerimientos del cliente. En
2013 este reporte era recibido desde Eslovaquia y diariamente se actualizaba
en Mexico, y a su vez enviado a Malasia. Actualmente solo es actualizado por
Mxico. En la tabla 4.1 se presenta la descripcin de los requerimientos que
debe contener la plantilla y especifica el correo al que ser enviado.
22
Historias de usuario
Cdigo
Nombre
Actor
Team Leader.
Como Team Leader quiero enviar un correo cuando lo elija, segn el
Descripcin
HU relacionadas
Ninguna.
Mdulo
Envo de correo.
Condicin
Criterios de
aceptacin
Resultado
23
Historias de usuario
Cdigo
Nombre
Actor
Team Leader.
Como Team Leader requiero poder importar los datos necesarios para el
llenado de la tabla dinmica que reportar las horas trabajadas de cada
Descripcin
empleado.
HU relacionadas
Ninguna.
Mdulo
Exportar informacin.
Condicin
Criterios de
aceptacin
Resultado
Se debe poder importar los datos
desde
un
archivo
de
Historias de usuario
Cdigo
Nombre
Automatizacin de clculos.
Actor
Team Leader.
Descripcin
HU relacionadas
Ninguna.
Mdulo
Update Tabla.
Condicin
Resultado
Se debe poder obtener el Who Is Who
de la tabla, y hacer las comparaciones
Criterios de
aceptacin
24
Historias de usuario
Cdigo
Nombre
Automatizacin de clculos.
Actor
Team Leader.
Descripcin
HU relacionadas Ninguna.
Mdulo
Update Tabla 2.
Condicin
Resultado
Task Easy Report: Reporte que lleva el conteo solo de las tareas y sus status,
es decir, con este reporte es posible conocer cuantas tareas estn en tiempo,
fuera de tiempo y sus porcentajes correspondientes, as mismo engloba un
concentrado de los totales de todos los grupos internacionales de PPL.
Contiene vistas semanales, mensuales y anuales. El requerimiento semanal se
documenta dentro de la tabla 4.5. En la tabla 4.6 se muestra el requerimiento
correspondiente a la tabla de conteo de tareas por mes en el Task Easy Report.
25
Historias de usuario
Cdigo
Nombre
Actor
Team Leader.
Descripcin
Como Team Leader quiero actualizar la tabla semanal mediante una macro.
HU relacionadas Ninguna.
Mdulo
Resultado
Se
poder
comparar
cada
grupo
Criterios de
aceptacin
debe
correspondiente,
una
vez
comparado
se
Historias de usuario
Cdigo
Nombre
Actor
Team Leader.
Descripcin
Como Team Leader quiero actualizar la tabla mensual mediante una macro.
HU relacionadas
Ninguna.
Mdulo
Resultado
Se debe poder comparar cada grupo registrado
en
Criterios de
aceptacin
la
tabla
con
correspondiente,
los
una
datos
vez
del
registro
comparado
se
26
Vidriera
Historias de usuario
Cdigo
Nombre
Importacin de datos.
Actor
Team Leader.
Como Team Leader quiero actualizar los datos mensuales para obtener la
Descripcin
informacin correspondiente.
HU relacionadas
Ninguna.
Mdulo
Importar datos.
Condicin
Resultado
Se debe poder copiar los datos de los
exports en la hoja correspondiente, despus
Criterios de
aceptacin
Consolidated Planning Log: Bitcora para llevar el control y cobro de todas las
DOs creadas para TS-NA, MX, BAT, Juniper y Copart.
27
4.2 Diseo
La metodologa XP sugiere que es necesario conseguir diseos simples y sencillos.
Procurando que sea lo menos complicado posible, para conseguir un diseo
fcilmente entendible e implemntable que a la larga costar menos tiempo y
esfuerzo desarrollar.
4.3 Codificacin
El cliente es una parte ms del equipo de desarrollo, su presencia es indispensable
en las distintas fases de XP al momento de codificar una historia de usuario su
presencia es an ms necesaria ya que los clientes son los que crean las historias
de usuario y negocian los tiempos en los que sern implementadas. Antes del
desarrollo de cada historia de usuario el cliente debe especificar detalladamente lo
que sta har y tambin tendr que estar presente cuando se realicen los test que
verifiquen que la historia implementada cumple la funcionalidad especificada.
4.4 Pruebas
Uno de los pilares de la metodologa XP es el uso de test para comprobar el
funcionamiento de los cdigos que se vayan implementando.
Todas las aplicaciones fueron probadas en diferentes equipos de cmputo
obteniendo resultados positivos.
Cada vez que una versin de nuevo cdigo era liberada se tenan reuniones
con el Team Leader responsable, donde se comprobaba el funcionamiento que haba
29
sido requerido, algunas veces cuando era aprobado el cliente solicitaba aadir
alguna nueva funcionalidad.
Se realizaron pruebas de conteo llevando a cabo filtrado manual para
comprobar que el cdigo estaba llevando a cabo los conteos automticos de manera
correcta.
Cada aplicacin fue puesta en el disco duro compartido del rea, para asegurar
completa disponibilidad para los integrantes del equipo de trabajo.
30
CAPTULO V
RESULTADOS
31
32
33
34
Las figuras 5.5, 5.6 y 5.7 muestran las columnas que fueron generadas por
cdigo en las hojas que contienen los registros, para facilitar los conteos de todas las
tablas, entre ellas se encuentran la columna On Time y Mes.
35
36
37
38
39
40
41
43
FUENTES DE INFORMACIN
Abrahamsson, P., Salo, O., Ronkainen, J., Warsta, J. (2002) Agile software
development methods Review and analysis. VTT Publications.
Beck, K.. Extreme Programming Explained. Embrace Change, (2004) Pearson
Education, 1999. Traducido al espaol como: Una explicacin de la programacin
extrema. Aceptar el cambio, Addison Wesley.
Cockbun, A., Williams, L. The Costs and Benefits of Pair Programming.(2000)
Humans and Technology Technical Report.
Codificacin de una macro (2003). Sitio que contiene informacin relacionada con las
Macros en Excel. Fecha de consulta 19 de Marzo de 2014.
http://ciberconta.unizar.es/leccion/cursointermedioexcel/01_macro/macro03.htm
http://office.microsoft.com/es/excel/HP052047113082.aspx?pid=CH062528393082
Microsoft Corporation (2014). Sitio que contiene informacin relacionada con las
Macros en Excel. Fecha de consulta 15 de Febrero de 2014.
http://support.microsoft.com/kb/213740/es
Vocabulario, Glosario o Definiciones y Ayuda VBA (2012) Sitio que contiene formulas
para programcion en macros. Fecha de consulta 19 de Marzo de 2014.
http://www.asesorias-macros-excel-vba.com/VBA.html
45
GLOSARIO
Aplicacin: Es un tipo de programa informtico diseado como herramienta para
permitir a un usuario realizar uno o diversos tipos de trabajos.
Dato: Unidad mnima de informacin, sin sentido en s misma, pero que adquiere
significado en conjuncin con otras precedentes de la aplicacin que las cre.
46
ACRNIMOS
ASP: Active Server Pages.
DO: Delivery Order.
ICT: Information and Comunication Technologies.
KPI: Key Performance Indicator.
PPL: Production Planning.
VBA: Visual Basic for Applications.
WIW: Who is who.
XP: Extreme Programming.
47
ANEXOS
48
49
Else
IBA=Application.WorksheetFunction.IfError(Application.VLookup(SON,Workbooks(monitorlogname).N
ames("RCDO_over").RefersToRange, 18, False), "IBA Not Found")
End If
Dim Brief As String
If tool = "SOM@SAP" Then
Brief=Application.WorksheetFunction.IfError(Application.VLookup(SON*1,Workbooks(monitorlogname)
.Names("RDO_over").RefersToRange, 16, False), "Brief Description Not Found")
Else
Brief=Application.WorksheetFunction.IfError(Application.VLookup(SON,Workbooks(monitorlogname).N
ames("RCDO_over").RefersToRange, 17, False), "Brief Description Not Found")
End If
mailtocc = ""
If (TDetail.range(TSSImplementorC & row).value = "") Then
Set lookuprngwiw = range("Contacts!a2:I2000")
Set lookuprngdl = range("ContactNew!A4:H117")
Set lookuprngDO = range("'DO Overview'!b10:k200")
mailto=Application.WorksheetFunction.IfError(Application.VLookup(TDetail.range(TSSImplementorC &
row).value, lookuprngwiw, 5, False), "Implementor Not Found")
mailtocc=Application.WorksheetFunction.IfError(Application.VLookup(TDetail.range(TSSAssignmentGr
oupC & row).value, lookuprngdl, 3, False), "DL Not Found")
If mailto = "Implementor Not Found" Then
mailto=Application.WorksheetFunction.IfError(Application.VLookup(TDetail.range(TSSAssignmentGrou
pC & row).value, lookuprngdl, 3, False), "DL Not Found")
mailtocc = ""
End If
Else
If tool = "COSIMA" Then
mailto=Application.WorksheetFunction.IfError(Application.VLookup(TDetail.range(TSSImplementorC &
row).value, lookuprngwiw, 5, False), "Implementor Not Found")
mailtocc=Application.WorksheetFunction.IfError(Application.VLookup(TDetail.range(TSSAssignmentGr
oupC & row).value, lookuprngdl, 2, False), "DL Not Found")
Else
Set lookuprngwiw = range("Contacts!a2:I2000") ' WiW contacts
Set lookuprngdl = range("ContactNew!A4:H117") ' WiW contacts
Set lookuprngDO = range("'DO Overview'!b10:k200") ' WiW contacts
mailto=Application.WorksheetFunction.IfError(Application.VLookup(TDetail.range(TSSImplementorC &
row).value, lookuprngwiw, 5, False), "Implementor Not Found")
50
mailtocc=Application.WorksheetFunction.IfError(Application.VLookup(TDetail.range(TSSAssignmentGr
oupC & row).value, lookuprngdl, 3, False), "DL Not Found")
End If
End If
If tool = "SOM@SAP" Then
customer=Application.WorksheetFunction.IfError(Application.VLookup(SON*1,Workbooks(monitorlogn
ame).Names("RDO_over").RefersToRange, 12, False), "Customer Not Found")
Else
customer=Application.WorksheetFunction.IfError(Application.VLookup(SON,Workbooks(monitorlogna
me).Names("RCDO_over").RefersToRange, 13, False), "Customer Not Found")
End If
DOID = DOID + SON + ", "
tname = tname + " " + " || " + " " + taskname
asig = asig + " " + "|| " + " " + assignedend
DI = DI + " " + "/ " + CStr(task)
a = a + vbCr + "<font face=Calibri size=3>" + "<li>" + " " + "<b>" + CStr(task) + ": " + taskname + "</b>"
+ " is ready to start and has a planned end on:" + " " + "<b>" + assignedend + "</b>" + " " + vbCr +
"</span>"
ta = ta + " " + CStr(task) + ":" + " " + taskname + ";"
cliente = cliente + " " + cl + ","
Next cell
Sub MesTRS()
Dim sem As String
Dim l, fila As Integer
Sheets("DB 2014").Range("p" & 1) = "Mes"
fila = Sheets("DB 2014").Range("m5000").End(xlUp).Row
l=2
For l = 2 To fila
51
52
53
54
Next
shtdom.Range("h7").Value = inte
clolocale = 0
cloint = 0
For i = 2 To lastrow
If Sheets("DO - Export").Cells(i, ["B"]) = "CS.DPS.MX.PPL.DEPL" And Sheets("DO - Export").Cells(i,
["h"]) = "accepted" And Sheets("DO - Export").Cells(i, ontime) = True Then
clolocale = clolocale + 1
End If
Next
shtdom.Range("f8").Value = clolocale
For i = 2 To lastrow
If Sheets("DO - Export").Cells(i, ["B"]) = "CSS.DPS.INT.DCO-PP.DEPL" And Sheets("DO Export").Cells(i, ["h"]) = "accepted" And Sheets("DO - Export").Cells(i, ["q"]) = True Then
clointe = clointe + 1
ElseIf Sheets("DO - Export").Cells(i, ["B"]) = "CSS.OSS.PHILIPS.PPL.INT.DEPL" And Sheets("DO Export").Cells(i, ["h"]) = "accepted" And Sheets("DO - Export").Cells(i, ["q"]) = True Then
clointe = clointe + 1
End If
Next
shtdom.Range("h8").Value = clointe
lstrow = Sheets("Tasks - Export").Range("T20000").End(xlUp).Row
For j = 2 To lstrow
If shttask.Cells(j, ["t"]) = "CS.DPS.MX.PPL.DEPL" And shttask.Cells(j, ["k"]) = "completed" And
shttask.Cells(j, ["u"]) = True Then
taskintimelocale = taskintimelocale + 1
End If
Next
shtdom.Range("f11").Value = taskintimelocale
For j = 2 To lstrow
If shttask.Cells(j, ["t"]) = "CSS.DPS.INT.DCO-PP.DEPL" And shttask.Cells(j, ["k"]) = "completed" Then
titinte = titinte + 1
ElseIf shttask.Cells(j, ["t"]) = "CSS.OSS.PHILIPS.PPL.INT.DEPL" And shttask.Cells(j, ["k"]) =
"completed" Then
titinte = titinte + 1
End If
Next
shtdom.Range("h10").Value = titinte
55
56
shtdom.Range("f13").Value = deflocale
Next
For i = 2 To lastrow
If Sheets("DO - Export").Cells(i, ["B"]) = "CSS.DPS.INT.DCO-PP.DEPL" And Sheets("DO Export").Cells(i, ["h"]) = "deferred" Then
definte = definte + 1
ElseIf Sheets("DO - Export").Cells(i, ["B"]) = "CSS.OSS.PHILIPS.PPL.INT.DEPL" And Sheets("DO Export").Cells(i, ["h"]) = "deferred" Then
definte = definte + 1
End If
Next
shtdom.Range("h13").Value = definte
End Sub
57
For i = 6 To lstrow
dioclose = 0
wiw = Sheets("PPL Performance Report").Cells(i, ["a"])
For j = 2 To lastrow
If shtexp.Cells(j, ["I"]) = wiw And shtexp.Cells(j, ["h"]) = "accepted" And shtexp.Cells(j, ["r"]) = mes Then
dioclose = dioclose + 1
End If
Next
shtppl.Cells(i, k).Value = dioclose
diocloseout = 0
For j = 2 To lastrow
If shtexp.Cells(j, ["I"]) = wiw And shtexp.Cells(j, ["h"]) = "accepted" And shtexp.Cells(j, ["q"]) = False
And shtexp.Cells(j, ["r"]) = mes Then
diocloseout = diocloseout + 1
End If
shtppl.Cells(i, k + 1).Value = diocloseout
Next
taskclose = 0
For j = 2 To ultrow
If shttask.Cells(j, ["n"]) = wiw And shttask.Cells(j, ["k"]) = "completed" And shttask.Cells(j, ["v"]) = mes
Then
taskclose = taskclose + 1
End If
shtppl.Cells(i, k + 3).Value = taskclose
Next
taskcloseout = 0
For j = 100 To ultrow
If shttask.Cells(j, ["n"]) = wiw And shttask.Cells(j, ["k"]) = "completed" And shttask.Cells(j, ["u"]) = False
And shttask.Cells(j, ["v"]) = mes Then
taskcloseout = taskcloseout + 1
End If
shtppl.Cells(i, k + 4).Value = taskcloseout
Next
dioopen = 0
Dim shthard As Worksheet
Set shthard = Sheets("Hard")
hrow = Sheets("Hard").Range("k99999").End(xlUp).Row
For j = 2 To hrow
58
59
Dim i As Integer
Set hard = Sheets("Hard")
lastrow = hard.Range("k99999").End(xlUp).Row
For i = 100 To lastrow
st_mx = hard.Cells(i, "k").Value
end_mx = hard.Cells(i, "f").Value
resta = (end_mx - st_mx)
If resta = 0 Then
hard.Cells(i, "l") = "On Time"
ElseIf resta = 1 Then
hard.Cells(i, "l") = "On Time"
ElseIf resta < 1 Then
hard.Cells(i, "l") = "On Time"
ElseIf (resta > 1) Then
dia_st_mx = WeekdayName(Weekday(st_mx, 1)) 'Obtiene el dia de inicio
dia_end_mx = WeekdayName(Weekday(end_mx, 1)) ' Obtiene el dia Final
If dia_st_mx = "viernes" And dia_end_mx = "lunes" Then
hard.Cells(i, "l") = "On Time"
Else: hard.Cells(i, "l") = "Out of Time"
End If
End If
Next
End Sub
Sub meses()
Dim mes As String
Dim i As Integer
Dim j As Integer
Dim comp, fecha As String
Dim shtdo, shttask, shthard As Worksheet
60
61
62
63
taskintime = taskintime + 1
End If
End If
End If
Next
Sheets("(3) Task completed monthly").Cells(i, j) = task
Sheets("(3) Task completed monthly").Cells(i, j + 1) = taskintime
Dim dato1 As Double
Dim dato2 As Double
dato2 = ((task - taskintime))
Sheets("(3) Task completed monthly").Cells(i, j + 3) = CInt(dato2)
task = 0
taskintime = 0
Next
Next
Application.Calculation = xlCalculationAutomatic
End Sub
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
64
lastmes = Sheets("Tabelle1").Range("f3")
shtint.Select
shtint.Range("$A$1:$BC$9999").AutoFilter field:=3, Criteria1:=Array( _"Grupo Modelo", "HABC",
"Vidriera Monterrey S.A. de C.V.", "Vitro"), Operator:= xlFilterValues
shtint.Range("$A$1:$BC$9999").AutoFilter field:=22, Operator:= _xlFilterValues, Criteria2:=Array(0,
"2/28/2014")
65
shtint.Select
shtint.Range("v2:v9999").Select
Selection.Copy
sht1.Select
Range("t7").Select
sht1.Paste
''copia la IBA
shtint.Select
shtint.Range("Bb2:Bb9999").Select
Selection.Copy
sht1.Select
Range("H7").Select
sht1.Paste
lastrow = sht1.Range("i9999").End(xlUp).Row
For i = 7 To lastrow
fullname = sht1.Cells(i, "c")
If fullname = "HABC" Then
sht1.Cells(i, "c") = "Clinica Mdica ABC"
ElseIf fullname = "Vitro" Then
sht1.Cells(i, "c") = "Vidriera Monterrey S.A. de C.V."
End If
Next
For i = 7 To lastrow
larow = Sheets("Data Customers").Range("b30").End(xlUp).Row
cust = sht1.Cells(i, "c").Value
For k = 2 To larow
cust2 = Sheets("Data Customers").Cells(k, "b")
If cust = cust2 Then
66
67
68