diumenge, 11 d’abril del 2010

Codi d’una macro

Copieu el codi que us ha aparegut a l’editor de Visual Basic
Sub Macro1()
'
' Macro1 Macro
' Macro grabada el 13/04/2010 por SGTI
'
' Acceso directo: CTRL+r
'
Range("A1").Select
ActiveCell.FormulaR1C1 = "casa"
Range("A2").Select
End Sub


o Que volen dir Sub y End Sub? Sub significa que comença la definició d'una funció. End Sub és per indicar quan s'ha acabat de definir el seu codi.

o Que vol dir l’apòstrof que apareix davant algunes línies? Indica que el
que està escrit a continuació no és informació per l’ordinador sinó per
la persona o programador que l’està fent servir.

o Quina funció fa la instrucció Range("A1").Select? Selecciona a la cel·la A1.

o Que passaria si poses Range("B1").Select? Que se seleccionaria la cel·la B1.

o Quina funció fa la instrucció ActiveCell.FormulaR1C1 = "casa"? Escriu la paraula entre cometes, en aquest cas casa, en la cel·la que està seleccionada.

o Canvieu el codi per un que escrigui a les cel·les
§ A1: Hola
§ A2: Què tal?
§ A3: Adéu!

o Comproveu que fa la funció desitjada i copieu el codi que us ha sortit a l’article.


Sub Macro1()
'
' Macro1 Macro
' Macro grabada el 13/04/2010 por SGTI
'
' Acceso directo: CTRL+r
'
Range("A1").Select
ActiveCell.FormulaR1C1 = "Hola"
Range("A2").Select
ActiveCell.FormulaR1C1 = "Què tal?"
Range("A3").Select
ActiveCell.FormulaR1C1 = "Adéu"
End Sub

Hem modificat la macro per tal que escrigui paraules en els rangs ("B1:C2") i ("A2:A4") i que aquestes paraules tinguin un format diferent (estiguin en negreta, tinguin el fons negre i siguin de color blanc). El codi és el següent:
Sub Macro1()
'
' Macro1 Macro
' Macro grabada el 25/05/2010 por SGTI
'
' Acceso directo: CTRL+r
'
Range("B1:F1").Select
Selection.Font.Bold = True
Range("A2:A4").Select
Selection.Font.Bold = True
Range("B1:F1").Select
Selection.Font.ColorIndex = 2
With Selection.Interior
.ColorIndex = 1
.Pattern = xlSolid
End With
Range("A2:A4").Select
Selection.Font.ColorIndex = 2
With Selection.Interior
.ColorIndex = 1
.Pattern = xlSolid
End With
Range("B1:C1").Select
Selection.Font.Bold = True
Range("A2:A4").Select
Selection.Font.Bold = True
Range("B1").Select
ActiveCell.FormulaR1C1 = "Aprovats"
Range("C1").Select
ActiveCell.FormulaR1C1 = "Suspesos"
Range("A2").Select
ActiveCell.FormulaR1C1 = "Mates"
Range("A3").Select
ActiveCell.FormulaR1C1 = "Caste"
Range("A4").Select
ActiveCell.FormulaR1C1 = "Socis"
End Sub

Pràctica 1

La macro es diu “Format” perquè modifica el format de les lletres de la nostra taula. S’activa teclejant a Ctrl + a; el que fa és ficar les paraules en negreta, canviar-les el color a blanc, i ficar el fons de color negre.
Per crear-la hem grabat una macro i hem anat canviant el format de les lletres pel que voldrem que aparegui quan activem la macro, aquest format ja està descrit anteriorment. Una vegada acabat el canvi de format hem parat de gravar la macro. El codi de la nostra macro és el següent:
Sub Format()
Range("B1:F1").Select
Selection.Font.Bold = True
Range("A2:A4").Select
Selection.Font.Bold = True
Range("B1:F1").Select
Selection.Font.ColorIndex = 2
With Selection.Interior
.ColorIndex = 1
.Pattern = xlSolid
End With
Range("A2:A4").Select
Selection.Font.ColorIndex = 2
With Selection.Interior
.ColorIndex = 1
.Pattern = xlSolid
End With
Range("A1").Select
End Sub

dimarts, 6 d’abril del 2010

Introducció a les macros en Excel

Un macro en l'Excel són una sèrie d'instruccions que s'acumulen i que
desprès es poden executar automàticament en forma de seqüència mitjançant un sol
ordre, és a dir, prement un botó.
En els macros de l'Excel s'utilitza el llenguatge vba. Aquest llenguatge es basa en el visual Basic i està dissenyat per crear programes sobre les eines de l'Access, el Word, l'Excel, i altres aplicacions.
Amb aquests macros aconseguim crear noves funcions que es duran a terme per l'Excel, també es poden fer estils i formats personals, fer que algunes funcions actuin automàticament, etc.