You are on page 1of 2

Sub actualizarventas()

'En esta primera parte de la macro se definen las variables necesarias:


Dim nombrearchivo As String
Dim rutaynombrearchivo As String
Dim actual As String
Dim cantasesores As Integer
Dim posasesor As Integer
Dim x As Integer

'Estas primeras instrucciones configuran Excel para que la macro corra ms rpido:
Application.ScreenUpdating = False
Application.DisplayAlerts = False

'Se inicializan variables generales:


actual = ThisWorkbook.Name
Sheets("tablero").Select

'Se cuenta la cantidad de asesores/regionales


Sheets("asesores").Select
Range("E1").Select
ActiveCell.FormulaR1C1 = "=COUNTA(R[1]C[-2]:R[1048575]C[-2])"
cantasesores = Range("E1").Value
'Y se escribe una frmula para concatenar ruta y nombre:
Range("E2").Select
ActiveCell.FormulaR1C1 = "=RC[-1]&RC[-2]"
Range("E2").Select
Selection.Copy
Range("E3:E6").Select
ActiveSheet.Paste
Application.CutCopyMode = False
Range("E2").Select

'Aqu se abren los 5 libros de los asesores, se copian sus ventas reales
'y se pegan en la tabla consolidada del supervisor (libro actual):

For x = 1 To cantasesores
'Sheets("asesores").Select
posasesor = 2 + (x - 1)
nombrearchivo = Sheets("asesores").Cells(posasesor, 3).Value
rutaynombrearchivo = Sheets("asesores").Cells(posasesor, 5).Value

Workbooks.Open Filename:=rutaynombrearchivo, ReadOnly:=True


Sheets("Hoja1").Select
Range("E5:E16").Select
Selection.Copy
Windows(actual).Activate
Sheets("presupuesto").Select
Cells(5, 5 + 6 * (x - 1)).Select
Selection.PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
Windows(nombrearchivo).Activate
ActiveWorkbook.Close

Next

Range("B2").Select
ActiveWindow.ScrollRow = 1
ActiveWindow.ScrollColumn = 1

'Finalmente, se guardan los cambios en el libro actual


'se vuelve a dejar Excel como estaba y se muestra mensaje
'informativo de grabacin exitosa:
Sheets("tablero").Select
ActiveWorkbook.Save

Application.ScreenUpdating = True
Application.DisplayAlerts = True

MsgBox "Ventas reales de asesores Exitosamente actualizada!"


'Fin de la macro: ALABADO SEA JESS!
End Sub

You might also like