Macros para la mejora ros para la mejora ros para la mejora en la

Anuncio
Mejoras organizativas y de gestión en el Departamento
de Ofertas de una empresa para el tratamiento del agua
ANEXO IVIV- Macros
Macros para la mejora
en la subcontratación
Pablo Espinar López
Universidad de Sevilla
122
Mejoras organizativas y de gestión en el Departamento
de Ofertas de una empresa para el tratamiento del agua
ANEXO IVIV- Macros para la mejora en la subcontratación
En el archivo Excel encargado de llevar la subcontratación, existen tres macros,
una para realizar subtotales por proveedores (en la hoja llamada Sub. Por
proveedor Control+p) pues se ejecuta pulsando Control+p, otra para realizar
un resumen y un subtotal por los responsables de las ofertas (en la hoja
llamada
Subtotales
Control+e)
pues
igualmente
se
ejecuta
pulsando
Control+e, y finalmente una en la hoja principal Subcontrat que se ejecuta al
pulsar sobre la imagen del calendario y oredna la hoja por fecha.
Así la macro que ordena la hoja principal por fecha sería:
Sub Fecha()
'
' Acceso directo: CTRL+f
'
Sheets("Subcontrat").Select
Range("A8:HJ13030").Select
Selection.Sort Key1:=Range("M9"), Order1:=xlAscending, Header:=xlGuess,
_
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
ActiveWindow.ScrollColumn = 10
ActiveWindow.ScrollColumn = 5
Range("F4").Select
End Sub
La que realiza los subtotales por proveedor:
Sub Proveedor()
'
' Acceso directo: CTRL+p
'
Sheets("Sub. por proveedor (Control+p)").Select
Pablo Espinar López
Universidad de Sevilla
123
Mejoras organizativas y de gestión en el Departamento
de Ofertas de una empresa para el tratamiento del agua
Cells.Select
Selection.Delete Shift:=xlUp
Range("B22").Select
Sheets("Subcontrat").Select
Range("A1:D4").Select
Selection.Copy
Sheets("Sub. por proveedor (Control+p)").Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("A4").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = "Subcontratación 2007. Resumen por
proveedores"
Range("A5").Select
Sheets("Subcontrat").Select
Rows("8:10338").Select
Selection.Copy
Sheets("Sub. por proveedor (Control+p)").Select
Rows("8:8").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("A8:E15535").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlToLeft
Range("C8:IV15331").Select
Selection.Delete Shift:=xlToLeft
Range("C15").Select
Columns("A:A").ColumnWidth = 21.29
Columns("B:B").ColumnWidth = 12.14
Pablo Espinar López
Universidad de Sevilla
124
Mejoras organizativas y de gestión en el Departamento
de Ofertas de una empresa para el tratamiento del agua
Range("A8:B957").Select
ActiveWindow.SmallScroll Down:=-21
ActiveWindow.ScrollRow = 1
Sheets("Subcontrat").Select
Range("F7:G7").Select
Selection.Copy
Sheets("Sub. por proveedor (Control+p)").Select
Range("A7").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("B7").Select
Selection.Font.ColorIndex = 50
Range("E8").Select
Sheets("Subcontrat").Select
Range("F4").Select
Sheets("Sub. por proveedor (Control+p)").Select
Range("A8:B17484").Select
Selection.Sort Key1:=Range("A9"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Selection.Subtotal GroupBy:=1, Function:=xlSum, TotalList:=Array(2), _
Replace:=True, PageBreaks:=False, SummaryBelowData:=True
ActiveSheet.Outline.ShowLevels RowLevels:=2
Range("E14").Select
End Sub
Y la que realiza un resumen general y por responsable de ofertas es la
siguiente:
Sub Subtotales()
'
' Subtotales Macro
Pablo Espinar López
Universidad de Sevilla
125
Mejoras organizativas y de gestión en el Departamento
de Ofertas de una empresa para el tratamiento del agua
'
' Acceso directo: CTRL+e
'
Sheets("Subcontrat").Select
ActiveWindow.SmallScroll Down:=-102
Rows("8:5154").Select
Selection.Copy
Sheets("Subtotales (Contrl+e)").Select
ActiveWindow.SmallScroll Down:=51
Rows("70:70").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Selection.PasteSpecial Paste:=xlFormats, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Rows("70:70").Select
Application.CutCopyMode = False
Selection.AutoFilter
Sheets("Subcontrat").Select
Range("G7").Select
Selection.Copy
Sheets("Subtotales (Contrl+e)").Select
Range("G69").Select
ActiveSheet.Paste
Range("H68").Select
Sheets("Subcontrat").Select
Range("H7").Select
Application.CutCopyMode = False
ActiveCell.FormulaR1C1 = ""
Range("H6").Select
Sheets("Subtotales (Contrl+e)").Select
Range("G69").Select
ActiveWindow.SmallScroll Down:=0
Selection.AutoFilter Field:=5, Criteria1:="Alberto Gómez"
Selection.AutoFilter Field:=9, Criteria1:="="
Pablo Espinar López
Universidad de Sevilla
126
Mejoras organizativas y de gestión en el Departamento
de Ofertas de una empresa para el tratamiento del agua
Selection.Copy
Range("E65").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Selection.AutoFilter Field:=9, Criteria1:="DT"
Range("G69").Select
Application.CutCopyMode = False
Selection.Copy
Range("E66").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("E65:E66").Select
Application.CutCopyMode = False
Selection.Copy
ActiveWindow.SmallScroll Down:=-54
Range("C10").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
ActiveWindow.SmallScroll Down:=42
Selection.AutoFilter Field:=5, Criteria1:="Gabriel Fuentes"
Selection.AutoFilter Field:=9, Criteria1:="="
Range("G69").Select
Application.CutCopyMode = False
Selection.Copy
Range("E65").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Selection.AutoFilter Field:=9, Criteria1:="DT"
Range("G69").Select
Application.CutCopyMode = False
Selection.Copy
Range("E66").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Pablo Espinar López
Universidad de Sevilla
127
Mejoras organizativas y de gestión en el Departamento
de Ofertas de una empresa para el tratamiento del agua
Range("E65:E66").Select
Application.CutCopyMode = False
Selection.Copy
ActiveWindow.SmallScroll Down:=-54
Range("C13").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Selection.AutoFilter Field:=5, Criteria1:="Rosa B."
Selection.AutoFilter Field:=9, Criteria1:="="
Range("G69").Select
Application.CutCopyMode = False
Selection.Copy
Range("E65").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Selection.AutoFilter Field:=9, Criteria1:="DT"
Range("G69").Select
Application.CutCopyMode = False
Selection.Copy
Range("E66").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Selection.AutoFilter Field:=9
Range("E65:E66").Select
Application.CutCopyMode = False
Selection.Copy
ActiveWindow.SmallScroll Down:=-45
Range("C16").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
ActiveWindow.SmallScroll Down:=42
Selection.AutoFilter Field:=5, Criteria1:="Francisco López"
Range("J70").Select
Selection.AutoFilter Field:=9, Criteria1:="="
Pablo Espinar López
Universidad de Sevilla
128
Mejoras organizativas y de gestión en el Departamento
de Ofertas de una empresa para el tratamiento del agua
Range("G69").Select
Application.CutCopyMode = False
Selection.Copy
Range("E65").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Selection.AutoFilter Field:=9, Criteria1:="DT"
Range("G69").Select
Application.CutCopyMode = False
Selection.Copy
Range("E66").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Selection.AutoFilter Field:=9
Range("E65:E66").Select
Application.CutCopyMode = False
Selection.Copy
ActiveWindow.SmallScroll Down:=-36
Range("C19").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
ActiveWindow.SmallScroll Down:=36
Selection.AutoFilter Field:=5, Criteria1:="Juan Castaño"
Selection.AutoFilter Field:=9, Criteria1:="="
Range("G69").Select
Application.CutCopyMode = False
Selection.Copy
Range("E65").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Selection.AutoFilter Field:=9, Criteria1:="DT"
Range("G69").Select
Application.CutCopyMode = False
Selection.Copy
Pablo Espinar López
Universidad de Sevilla
129
Mejoras organizativas y de gestión en el Departamento
de Ofertas de una empresa para el tratamiento del agua
Range("E66").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Selection.AutoFilter Field:=9
Range("E65:E66").Select
Application.CutCopyMode = False
Selection.Copy
ActiveWindow.SmallScroll Down:=-33
Range("C22").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
ActiveWindow.SmallScroll Down:=33
Selection.AutoFilter Field:=5, Criteria1:="Laura Esteban"
Selection.AutoFilter Field:=9, Criteria1:="="
Range("G69").Select
Application.CutCopyMode = False
Selection.Copy
Range("E65").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Selection.AutoFilter Field:=9, Criteria1:="DT"
Range("G69").Select
Application.CutCopyMode = False
Selection.Copy
Range("E66").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Selection.AutoFilter Field:=9
Range("E65:E66").Select
Application.CutCopyMode = False
Selection.Copy
ActiveWindow.SmallScroll Down:=-33
Range("C25").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
Pablo Espinar López
Universidad de Sevilla
130
Mejoras organizativas y de gestión en el Departamento
de Ofertas de una empresa para el tratamiento del agua
False, Transpose:=False
ActiveWindow.SmallScroll Down:=33
Selection.AutoFilter Field:=5, Criteria1:="María Sanz"
Selection.AutoFilter Field:=9, Criteria1:="="
Range("G69").Select
Application.CutCopyMode = False
Selection.Copy
Range("E65").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Selection.AutoFilter Field:=9, Criteria1:="DT"
Range("G69").Select
Application.CutCopyMode = False
Selection.Copy
Range("E66").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Selection.AutoFilter Field:=9
Range("E65:E66").Select
Application.CutCopyMode = False
Selection.Copy
ActiveWindow.SmallScroll Down:=-27
Range("C28").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
ActiveWindow.SmallScroll Down:=33
Selection.AutoFilter Field:=5, Criteria1:="Roberto Flores"
Selection.AutoFilter Field:=9, Criteria1:="="
Range("G69").Select
Application.CutCopyMode = False
Selection.Copy
Range("E65").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Pablo Espinar López
Universidad de Sevilla
131
Mejoras organizativas y de gestión en el Departamento
de Ofertas de una empresa para el tratamiento del agua
Selection.AutoFilter Field:=9, Criteria1:="DT"
Range("G69").Select
Application.CutCopyMode = False
Selection.Copy
Range("E66").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("E65:E66").Select
Application.CutCopyMode = False
Selection.Copy
ActiveWindow.SmallScroll Down:=-33
Range("C31").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("K70").Select
Selection.AutoFilter Field:=5
Selection.AutoFilter Field:=11, Criteria1:="Pedidos"
Selection.AutoFilter Field:=9, Criteria1:="="
Range("G69").Select
Application.CutCopyMode = False
Selection.Copy
Range("E65").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Selection.AutoFilter Field:=9, Criteria1:="DT"
Range("G69").Select
Application.CutCopyMode = False
Selection.Copy
Range("E66").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
ActiveWindow.SmallScroll Down:=-3
Range("E65:E66").Select
Application.CutCopyMode = False
Pablo Espinar López
Universidad de Sevilla
132
Mejoras organizativas y de gestión en el Departamento
de Ofertas de una empresa para el tratamiento del agua
Selection.Copy
ActiveWindow.SmallScroll Down:=-57
Range("H10").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
ActiveWindow.SmallScroll Down:=54
Selection.AutoFilter Field:=9
Selection.AutoFilter Field:=11, Criteria1:="Solic Pedidos"
ActiveWindow.SmallScroll Down:=-3
Selection.AutoFilter Field:=9, Criteria1:="="
Range("G69").Select
Application.CutCopyMode = False
Selection.Copy
Range("E65").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Selection.AutoFilter Field:=9, Criteria1:="DT"
Range("G69").Select
Application.CutCopyMode = False
Selection.Copy
Range("E66").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("E65:E66").Select
Application.CutCopyMode = False
Selection.Copy
ActiveWindow.SmallScroll Down:=-51
Range("H13").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
ActiveWindow.SmallScroll Down:=57
Selection.AutoFilter Field:=9
Selection.AutoFilter Field:=11, Criteria1:="Conf, Pte solic Ped"
Selection.AutoFilter Field:=9, Criteria1:="="
Pablo Espinar López
Universidad de Sevilla
133
Mejoras organizativas y de gestión en el Departamento
de Ofertas de una empresa para el tratamiento del agua
Range("G69").Select
Application.CutCopyMode = False
Selection.Copy
Range("E65").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Selection.AutoFilter Field:=9, Criteria1:="DT"
Range("G69").Select
Application.CutCopyMode = False
Selection.Copy
Range("E66").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
Range("E65:E66").Select
Application.CutCopyMode = False
Selection.Copy
ActiveWindow.SmallScroll Down:=-54
Range("H16").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:= _
False, Transpose:=False
ActiveWindow.SmallScroll Down:=45
Selection.AutoFilter Field:=9
Selection.AutoFilter Field:=11
Rows("64:64").RowHeight = 13.5
Rows("65:8440").Select
Application.CutCopyMode = False
Selection.Delete Shift:=xlUp
ActiveWindow.SmallScroll Down:=-45
Range("J21").Select
ActiveWindow.SmallScroll Down:=-6
Range("E6").Select
End Sub
Pablo Espinar López
Universidad de Sevilla
134
Descargar