sábado, 26 de enero de 2008

Ejemplos macros vba Excel

Una pausa en el avance como
para reforzar un poquito lo avanzado.

Sub nombre_padre

'obtener el nombre del padre
'de activesheet

MsgBox ActiveSheet.Parent.FullName

End sub

'recordando el tema del modelo de objetos de Excel
'aqui un claro ejemplo de la jerarquia de objetos de
que les comente:

fijense primero nombramos al objeto "ActiveSheet" y colocamos el punto luego la palabra "Parent"(Padre)
(entiendase entonces que al decir "Activesheet.Parent"
estamos hablando del objeto inmediato superior a a la
hoja activa que seria logicamente"El libro"(ActiveWorkbook)
en este caso entonces veran que es lo mismo
colocar "ActiveSheet.Parent" o "ActiveWorkbook"
y de esa forma tambien podremos referenciar objetos haciendo referencia al objeto padre para el objeto correspondiente del modelo de objetos de Excel.

y finalmente colocamos la, propiedad "FullName"

esto nos daria exactamente el mismo resultado

sub nombre_libro

MsgBox ActiveWorkbook.FullName

end sub

-----------

obtener nombre del libro
************************

' ojo :...pero por ejemplo si el libro activo no se guardo
' ninguna vez todavia nos devolvera "Book1" o "Libro"'
dependiendo del idioma de tu Excel .

'y si tu libro ya lo habias guardado anteriormente
' devolvera ademas del nombre el "path" o ruta de
tu libro activo .

de esta manera : D:\Documents and Settings\Administrador\Escritorio\WorkPlan_jes1.xls
end sub


'Redondeando activecell
'---------------------------

Sub redondear_cells()

s = Round(ActiveCell, 2)

ActiveCell.Value = s

ActiveCell.NumberFormat = "#,##0.00"

End Sub


'Formateando(fuente)
'------------------------


Sub cambiar_formato()

Cells.Select 'seleccionamos todas las celdas
Selection.Font.Name = "Arial Black" 'asignamos la fuente
Selection.Font.Size = 13 'el tamaño de la fuente

'en el ejemplo seleccionamos todas las celdas
'pero puedes comentar la linea -->'Cells.Select'
y seleccionar cualquier rango de celdas'incluso
celdas discontinuas

End Sub


Cambiar entre estilos de referencia

de A1 a RC y viceversa

Application.ReferenceStyle = xlA1Application.ReferenceStyle = xlR1C1
Application.ReferenceStyle = xlA1

'Pegar los formatos
'--------------
'primero copia alguna celda que tenga el formato
'que deseas copiar'luego colocate sobre la celda o celdas
'ahora corre la macro


Sub Paste_formats()

Selection.PasteSpecial Paste:=xlFormats
Application.CutCopyMode = False

End Sub

'Copiar y Pegar valores
'------------------------


Sub PegarValor()

'de igual manera colocate
'sobre una celda con formula

Selection.Copy

'ahora sobre el rango donde deseas
'pegar solo como valor

Selection.PasteSpecial Paste:=xlValues

Application.CutCopyMode = False

End Sub

Se me paso mencionar algunas de las combinaciones de teclas para el editor de codigo pero aqui hay unas cuantas que falto mencionar.

Combinaciones de teclas para manejar el editor
-------------------------------------------------------
de codigo para vba (por ahora las más necesarias)
----------------------------------------------------------

para Abrir el editor simplemente presiona ----> Alt + F11

Estando ya sobre ele entorno del editor vba

PRESIONA ---> F2 (Examinador de objetos )

ir a cuadro de dialogo buscar ---> F3

ir a ventana de propiedades ----> F4

Para Ejecutar una macro -------> F5

Correr el codigo linea por linea (las instrucciones)----> F8

viernes, 25 de enero de 2008

Respuesta(Insertar en un datatable un rango de casillas del excel)

Hoy he recibido un correo con la sgte consulta:

- Programa .net que lea un excel y actualice la BD
- ¿Como insertar en un datatable un rango de casillas de Excel?

*Doctores , no es la intención si es que este ejemplo sale un poco del orden del avance de temas del blog
Pero creo que es importante igualmente
compartir la mayor cantidad de conocimientos posibles.

No lo he hecho antes, pero creo que si procedes de esta forma, funcionará:

1.-Convierte tu rango de celdas a un archivo xml físico.
2.-Luego, el datatable acepta como origen de datos un archivo XML, entonces cargas el datatable con el xml que creaste...algo así:DataSet ds = new DataSet();ds.ReadXml("myXmlFile.xml");return ds.Tables(0);

martes, 22 de enero de 2008

Procedimientos y Funciones 0.1

Ahora ya seguarmente con una mejor referencia
de como trabajar en Excel con el modelo de objetos.

Volviendo a la definicion inicial del Vba(Visual Basic para Aplicaciones)

"Es el lenguaje con el que podras manipular los objetos de Excel y crear tus propias aplicaciones(claro mas adelante) por ahora macros utiles."

*Por eso era muy importante primero verificar el modelo de objetos de Excel.

Los procedimientos
---------------------
Conjunto de instrucciones que realiza una accion.
*esta encerrado pot las palabras reservadas
Sub y End Sub

ejemplo
----------
Sub crear_libro

'instruccion1
'instruccion2
'instruccion3

End Sub

Las funciones
---------------
A diferencia de un procedimiento
una función devolvera valores
*esta encerrado po las palabras reservadas
"Function" "End Function"

ejemplo
--------

Function MostrarTriple(numero)

'devolvera el triple de un número

MostrarTriple=numero*3

Msgbox MostrarTriple

End Function

ejemplo
--------
'el primer pasos sera crear un procedimiento(mostrar_triple)
'que llame a la [funcion "convertirTriple"]
'luego le pasamos el numero que deseamos que convierta
'debes colocarte ahora sobre el procedimiento mostrar_triple'
y presionar f8 hasta que obtengas recuperar el valor de la funcion

'pega el procedimiento y la funcion en un modulo

Sub mostrar_triple()

'aqui le pasamso el numero 55 a la funcion
'y simplemente mostramos en un mensaje
' el valor que nos devuelve la funcion

MsgBox convertirTriple(55)

End Sub


Function convertirTriple(numero)

'devolvera el triple de un número
'en este caso el numero="55"'y
'luego lo multiplica por 3

convertirTriple = numero * 3

End Function

domingo, 20 de enero de 2008

El Modelo de objetos de Excel

Antes de continuar con los temas debemos tenera algunas consideraciones para continuar trabajando con objetos en el Excel (Excel vba)

Importante no olvidar lo sgte :

- Los objetos cuentan con "propiedades" y "métodos".

-Una propiedad es un atributo del objeto que define una característica del mismo

Un Ejemplo, la propiedad "Row" del objeto "ActiveCell" nos indica en qué fila de la hoja está la celda activa.

Macro sobre la propiedad Row de la celda

Sub celdax()

MsgBox ActiveCell.Row 'devuelve la fila de la celda activa
MsgBox ActiveCell.Column 'devuelve la columna de la celda activa

End Sub

Para poder acceder a una propiedad de un objeto se utiliza el nombre del objeto, seguido de un punto y el nombre de la propiedad.

Como se vio justamente en ejemplo de la propiedad Row para la celda

ActiveCell.Row

donde el objeto es la celda activa : ActiveCell

la propiedad es : Row

MsgBox ActiveCell.Row

Los "métodos" son las acciones que podemos llevar a cabo sobre el objeto.

Para llamar a un método se utiliza el nombre del objeto, un punto y el nombre del método

Ejemplo, el método "ActiveCell.Clear" borra el contenido de la celda activa

como te habras dado cuenta en la mayoria ejemplos hemos empleado instrucciones
muy similares a esta.

Hemos colocado Msgbox para mostrar una característica de un objeto

y de esa manera obtener el valor de una propiedad determinada.

MsgBox ActiveCell.Row

Va ser importante entonces notar la diferencia entre propiedades y metodos de l0s objetos en el Excel

Hasta aqui las propiedades nos permiten:(obtener características de los objetos )
y los metodos (llevar acciones sobre un objeto tal y como se vio en el ejemplo la accion ejecutada fue borrar el contenido de la celda "ActiveCell.Clear").

*La totalidad de acciones que puede realizar un usuario sobre un objeto(Metodos del objeto)
*Valores que se podran obtener o asignar(propiedades del objeto)


*Tampoco debes olvidar que para trabajar sobre un objeto en Excel no es necesario seleccionarlo

'En esta macro de ejmplo podras comprobarlo

Sub celda_conseleccion()

'seleccionamos el rango A1

Range("A1").Select

'asignamos a la seleccion el color'con el index=5

ActiveCell.Interior.ColorIndex = 5

'pero las lineas iniciales no seran necesarias
'bastara con trabajar directamente sobre el'rango "A1"


Range("A1").Interior.ColorIndex = 8


End Sub

miércoles, 16 de enero de 2008

Metodos del Objeto Range

A) Activate:
--------
Activar el Rango seleccionado.

B)Clear
-----
Borrar los valores y formatos del Rango.

C)ClearContents
--------------
Solo borra los valores del rango manteniendo el formato intacto.

D)Delete
-------
Eliminar el Rango indicado.

E)Calculate
---------
Recalcular las formulas en un rango indicado.

'Ahora una macro de ejmplo de los metodos del objeto range

'Excel VBA Macro de ejemplo aplicacion de metodos del objeto range

Sub ejemplo_range_met()

Range("A1").Activate 'Activa el Rango
Range("A1").Delete 'eliminar el rango
Range("A1:A100").Calculate 'recalculo en el range
Range("A2").Clear 'borra contenido y formatos
Range("A2").ClearContents 'solo contenidos

End Sub

Objeto Range del Excel- Excel VBA MAcros Ejemplo propiedades Objeto Range

Un concepto adeacuado y util del obejor range del Excel por ahora seria pensar en un objeto Range como una celda, una fila, una columna o una selección de celdas

*Un objeto range estara contenido dentro de un objeto woorsheet

Propiedades del Objeto Range
-----------------------------

a)Address
---------
Indica la dirección del rango seleccionado.

ejemplo
--------
MsgBox ActiveCell.Address 'devolvera la direccion dela celda activa

b)Count
------:
Cuenta el número de objetos de un conjunto.

ejemplo
--------

MsgBox Selection.Cells.Count 'devolvera la cantidad de celdas seleccionadas

c)Name
------:
Nos servira pra asignar o recuperar el nombre de un rango

Selection.Name = "prueba_vba"

d)Value
------
Devuelve el valor de un rango

MsgBox Range("A1").Value 'el valor del rango de la celda A1

e)formula
--------
MsgBox Range("A1").Formula

sábado, 12 de enero de 2008

Objeto Worksheet de Excel

El objeto Worksheets representa a las Hojas de un Libro de Excel

*La colección de WorkSheets es formada por las hojas de un libro.

* Cada miembro de la colección Sheets es un objeto Worksheet(hoja)


Metodos del objeto Worksheets
--------------------------------

Delete
-------
Permite Eliminar una Hoja


Por ejemplo Eliminar la hoja Abril

Sub delete_hoja()

Application.DisplayAlerts = False 'asignamos a falso para evitar
' las alertas de Excel al eliminar hojas

Sheets("Abril").Delete 'eliminando hoja="Abril"

Application.DisplayAlerts = True 'devolvemos el valor por defecto "verdadero"


End Sub



Add
------
Crear un nueva hoja



Sub new_sht()


Sheets.Add 'agregar una hoja

Sheets.Add after:=Sheets(2) 'agregar un hoja al libro y colocarla despues de la hoja2

End Sub



Move
------
Permite Mover una Hoja

Sub new_sht()

'movemos la hoja enero despues de report

Worksheets("enero").Move After:=Sheets("report")

End Sub




Select
------
Permite Seleccionar una Hoja



sub selex

Sheets(2).Select 'seleccionamos la hoja 2 del libro

end sub



Copy
------
Permite Copiar una Hoja



Sub new_sht_copy()

'creamos auna copia de la hoja enero
'y la colcamos despues de la segunda hoja del libro


Worksheets("enero").Copy After:=Sheets(2)

End Sub


'ahora un ejemplo de 2 propiedades del objeto worksheet

Sub ejemplo_worksheet_prop()

'macro de ejemplo 2 propiedades
'muy comunes del objeto worksheet
'te devuelve el nombre de la hoja
'por ahora innecesario aparentemente
'pera notaras la utilidad de esta
'propiedad a la hora de hacer compraciones
'o busquedas entre las hojas del libro

MsgBox ActiveSheet.Name


'esto te devolvera el indice de
'la hoja activa(Índice de la Hoja)
'es decir si es la hoja 1 o 2 o 3,etc del libro

MsgBox ActiveSheet.Index


End Sub

jueves, 10 de enero de 2008

Métodos del objeto Workbook de Excel

a) Activate : Activa un libro

b) Close :Cierra el libro con la posibilidad de indicar si deben guardarse los cambios.

c) Protect Unprotect :Permite proteger un libro, de forma que los usuarios no puedan agregar ni eliminar hojas de cálculo, y volverlo a desproteger.

d) Save :Guarda el libro. Si el libro no se ha guardado antes, Excel lo guarda en la carpeta actual

e) SaveAs :Permite guardar el libro especificado, indicando a título opcional un nombre, un formato de archivo, una contraseña

f) SaveCopyAs :Guarda una copia del libro en un archivo, pero no modifica el libro abierto en memoria. Este método es útil cuando se desea crear una copia de seguridad sin modificar la ubicación del libro.

Ejemplos de macros del Uso de Metodos del objeto Workbook del Excel

'el codigo vba excel en 2 ejemplos simples

Sub activate_wbk_excel() 'activar el libro

'con esta linea podras evitar el mensaje de error del excel
'en caso no exista ese libro de Excel

On Error Resume Next

Workbooks("Excel VBA Finance").Activate


End Sub


'nuevamente debes correr la macro linea
'por linea para que te fijes los cambios 'en el excel

'ahora necesitas crear 5 libros nuevos 'cada libro de Excel forma parte de la colección de libros 'entonces tamnbien cada libro cuenta con un index 'y tambien puedes referenciar un workbook con un número 'en este caso el 1 reprenta a el libro 1 de la coleccion de libros de excel 'en cualquier caso tambien puedes hacer referecia por el nombre del libro

Sub Close_wbk_excel()


Workbooks(1).Close True 'cerrar el libro guardando cambios

Workbooks("5").Close 'cerrar el libro sin guardar cambios

Workbooks(2).Save 'Guarda el libro

Workbooks(3).SaveAs "C:\Documents and Settings\JesusMartin\Escritorio\Excel ejemplo.xls"

'guarda una copia

Workbooks(4).SaveCopyAs "C:\Documents and Settings\JesusMartin\Escritorio\Copia de ejemplo Excel.xls"

End Sub

miércoles, 9 de enero de 2008

Propiedades del objeto Workbook de Excel

Propiedades del objeto Workbook de Excel
-------------------------------------------
a)Name:
----
Devuelve el nombre del libro.


b) FullName:
--------
Devuelve la ruta de acceso completa, incluido el nombre del libro.

c) Path
----:
Devuelve la ruta de acceso.

d) Author
------:
Permite establecer el nombre del autor creador del libro.


Macro de ejemplo del uso de las propiedades del Objeto workbook
------------------------------------------------------------------

Sub Propiedades_libro()

'ejemplos del uso de las propiedades'del objeto workbook Excel(Codigo Vba Excel)
'ActiveWorkbook.Author = "Tula"


MsgBox ActiveWorkbook.Name

'si el libro no ha sido guardado todavia'al menos una vez entonces Path no devolvera nada
MsgBox ActiveWorkbook.Path


MsgBox ActiveWorkbook.Name

MsgBox ActiveWorkbook.FullName

End Sub

Objeto application en Excel -Excel macros

'Objeto application Excel (Excel macros - vba) II
'Otras propiedades del objeto application Excel

Propiedades del Objeto Application de Excel
---------------------------------------------
'devuelve la ruta de instalacion de Microsoft excel

Msgbox application.path

'maximizar la ventana
application.Windowstate=xlmaximized

'Cambiar el titulo de la ventana principal del Excel


Application.caption="Cuentas de enero"


Metodos del objeto application
------------------------------
a)QUIT
------
'Este metodo es empleado para Salir del Excel'cuidado con perder algun trabajo'si hay libros abiertos Excel preguntara si desea guardar los cambios'pero cuidado si tienes displayalerts=false .Excel no te preguntara si deseas salir'y saldra de la application sin guardar los libros.


Application.Quit


b)RUN
------
Empleado para ejecutar una macro o una application Vba.
'aqui simplemente colocamos el nombre de la macro que buscamos'se ejecute en este caso "macro1"

Application.Run macro:="macro1"


Recuerda: El objeto Application esta en el nivel más alto de la jerarquia de los objetos del Excel y representa al mismo Microsoft Excel.

lunes, 7 de enero de 2008

Macro :Ejemplo de propiedades del objeto Application Excel

'Macro de ejemplo codigo vba Excel :'Objeto Application Excel

'para complementar las propiedades del objeto application de Excel
esta seria otro pequeño ejemplo del uso del objeto application En excel

Sub macro_excel_application()

'Nombre del usuario
MsgBox Application.UserName

'Nombre de la empresa
MsgBox Application.OrganizationName

'el Sistema operativo
MsgBox Application.OperatingSystem

'Carácter separador de miles
MsgBox Application.DecimalSeparator

'la Impresora por defecto
MsgBox Application.ActivePrinter

'la Ruta a carpeta Add-ins
MsgBox Application.UserLibraryPath

End Sub

Objeto application en Excel -Excel macros

El objeto Application proporciona un gran conjunto de propiedades que controlan el estado general de Microsoft Excel.


Propiedades del objeto Application
-------------------------------------------
Aqui una pequeña lista de algunas de las propiedades del objeto application tal vez las más adecuadas de revisar por ahora teniendo en cuenta que la idea es ir familiarizandose de a pocos)

A) ScreenUpdating(Boolean) Si es True, Excel actualiza su pantalla después de cada llamada a un método. Puede desactivar la presentación mientras se ejecuta el código. Asegúrese de establecer de nuevo esta propiedad en True.

El objeto Application proporciona también un grupo de propiedades que controlan la presentación en Excel. Puede modificar cualquiera de estas propiedades para cambiar lo que el usuario ve en la pantalla.

A continuación se incluyen algunas de las opciones de presentación comunes:

B) DisplayAlerts(Boolean) Si es True (el valor predeterminado), Excel muestra mensajes de advertencia mientras se ejecuta el código, cuando sea necesario. Establezca esta propiedad en False para omitir las advertencias y seleccionar el valor predeterminado.

'Un ejemplo de las alertas que muestra el excel seria el mensaje de confirmación cuando se desea eliminar una hoja,.

C) DisplayFormulaBar(Boolean)Si es True (el valor predeterminado), Excel muestra la barra de fórmulas estándar para la modificación de celdas; establézcala en False para ocultar la barra.

D) DisplayFullScreen(Boolean) Si es True, Excel se ejecuta en el modo de pantalla completa (con un efecto diferente al que se obtiene maximizando la ventana de Excel); el valor predeterminado es False.

Al igual que ocurre con la propiedad ScreenUpdating, es importante restablecer la propiedad DisplayAlerts. Con DisplayAlerts como False, Excel no pregunta si se desea guardar los libros antes de cerrarlos, por lo que se pueden perder los datos.

Ahora una pequeña macro que muestra como funciona en el codigo Vba - Excel lo comentado.

macro( ejemplo de objeto application excel)

'Objeto application no te olvides de ejecutar linea por linea para que observes los cambios en Excel

Sub excel_macro_applicati() 'vba_application

Application.DisplayAlerts = False 'aqui Excel no pediria confiramción para eliminar una hoja

Application.DisplayAlerts = True ' Excel solicita confirmación de determinadas acciones)
'esta propiedad debe estar asignada como True por defecto

Application.DisplayFormulaBar = False 'Ocultar la barra de formulas de

Application.DisplayFormulaBar = True 'Mostrar barra de formulas de Excel

Application.DisplayFullScreen = True 'Excel se ejecuta en el modo de pantalla completa

Application.DisplayFullScreen = False 'Devuelve el valor x defecto



End Sub

sábado, 5 de enero de 2008

Modelo de Objetos Excel (Macros - Excel Vba )

Ejemplos de objetos seria un libro de trabajo, una hoja de cálculo,un rango de una hoja de cálculo. Encntramos más objetos a nuestra disposición y manipularan mediante el uso de código VBA.·Las clases de objetos están ordenados de manera jerárquica. Los objetos actuan como contenedores de otros objetos. Por ejemplo, Excel es un objeto llamado Applcation y contiene otros como WorkBook y CommandBar. El objeto WoorkBook puede contener otros objetos como WorkSheet y Chart. Un objetoWoorkSheet puede contener objetos como Range . Nos referimos al orden de estos objetos como modelo de objetos de Excel.

Por ejemplo, la colección de WorkSheets está compuesta por todas las hojas de cálculo de un libro . La colección CommandBars está compuesta por los objetos CommandBar. Las colecciones son objetos en símismas.Cuando nos referimos a un objeto contenido o miembro, estamosespecificando su posición en la jerarquía del objeto, usando unpunto como seprador entre el contenedor y el miembro.

Application.WorkBooks("Cuentas.xls")Esto se refiere al libro "Cuentas.xls" en la colección de WorkBooks.
Modelo de Objetos del Excel






Una vez que el usuario aprende a leer e interpretar una libreria de objetos del Excel se puede apuntar a nuevas posibilidades y proyectarse de seguro hacia como ponerlas en practica .La mejor manera de aprender como se comunica vba con excel es grabar algunas macros sencilas.





Seria importante tambien hacer lo sgte :

Entendiendo que estas sobre un libro de Excel


1) Presiona "ALT" + "F11"

- ya estas sobre el entorno Vba del Excel

2) Presiona "F2"

Ahora puedes ver el examinador de objetos

-para el ejemplo de la imagen he colocado -->"application" en la cajita y como veras


nos muestra toda una jeraquia de objetos apartir del objeto "applicaction"


igualmente puedes colocar tambien "workbook" o cualquier elemento del


modelo de objetos y asi de esa manera podras tambine darte cuenta de la estrctura de objetos para el Excel.

viernes, 4 de enero de 2008

Microsoft Excel Macros - Codigo Vba Excel

Como ya hemos creado algunas macros para Excel muy simples y ahora pueden crear las macros basicas...creo que podemos seguir avanzando..

Creo que ahora podemos darle otra orientación al tema de pronto seria importante ... tratar el tema de una forma
tal vez más amplia es decir ..explicar muy a groso modo el modelo de objetos de Microsoft Excel .....

Modelo de objetos de Excel (los primeros objetos de Excel que necesitamos conocer)
------------------------------------------------------------------------------------------
Como los datos de un documento de Excel están muy estructurados, el modelo de objetos es jerárquico y sencillo. Excel proporciona cientos de objetos con los que quizá desee interactuar, pero puede empezar a trabajar con el modelo de objetos centrándose en un subconjunto muy pequeño de los objetos disponibles. Entre éstos se incluyen:

Esta seria una pequeña definición..muy practica

a) Application (representa la propia aplicación Excel)
b) Workbook (representa un libro en la aplicación Excel)
c) Worksheet (representa una hoja del libro )
d) Range ( representa una celda, una fila, una columna, una selección de celdas que contiene

uno o más bloques de celdas (que podrían ser contiguos o no), o incluso un grupo de celdas
de varias hojas. )
*será el objeto más utilizado en las aplicaciones de Excel

Modelo jerárquico
-------------------------------------------------------------------------
Application-->Workbooks-->Sheets --> Range
(Excel) --> (Libro) --> ( Hoja) --> (celda o celdas )

*Accediendo a la colección de libros accederemos
a un libro determninado.

-en este caso activamos "Libro1.xls"

- Workbooks("Libro1.xls").activate

-referenciar a el libro activo : ActiveWorkbook

*Igualmente de la colección de hojas indicamos una del conjunto
en este caso activamos la hoja "cuentas"

- Sheets("cuentas1").activate

-referenciar a la hoja activa : ActiveSheet

*Referenciando un rango:
* y activamos la celda A1

- Range("A1").activate

-la celda activa se referencia como : ActiveCell

ejemplos macros excel vba

sub gridlines

'seria bueno que ejecutes el codigo linea por linea
'como te explique en algun post anterior
'debes dar click sobre la macro en la primera linea
'y luego de presionar f8 podras ejecutar tus macros de excel por pasos



ActiveWindow.DisplayGridlines = False ' quitar las lineas de la hoja


ActiveWindow.DisplayGridlines = True ' mostrar las lineas de la hoja



end sub


sub trabajndo_con_colores

'en el excel puedes modificar 56 colores
' en este ejemplo modificaremos el color 44 de la paleta de colores


ActiveWorkbook.Colors(44) = RGB(230, 230, 233)
'con esto cambias el color con el index 44 en todas las celdas del libro


'restablecer los colores por defecto
ActiveWorkbook.ResetColors


'copiar colores desde otro libro
ActiveWorkbook.Colors = Workbooks("coloradon.xls").Colors
'con esto copias los colores del libro "coloradon.xls" para tu libro activo.


'-------------------------
'y si solo quieres trabajar con una celda o selección
'como te dije puedes usar cualquiera delos 56 colore que la paleta de Excel

ActiveCell.Interior.ColorIndex = 16 'en este caso le asignamos color 16 a la celda


Selection.Interior.ColorIndex = 56 'ahora sobre la selección(una celda o varias)


end sub

nuevos ejemplos macros excel( codigo excel vba)

*aqui unos pequeños mini-macros.. para que continues con tus primeros pasos
en el vba.

'ojo logicamente para este ejemplo estas sobre un 'libro de prueba para que no pierdas algun avance sin guardar

sub cerrar_book1 'prueba1

ActiveWorkbook.Close 'con esto cierras tu libro.. sin guardar cambios

end sub


sub cerrar_book2 'prueba2

ActiveWorkbook.Close(True) ' cerrar guardando los cambios realizados

end sub



sub opens_wbk

'Abrir un libro de Excel ..desde una ruta conocida

Workbooks.Open FileName:="F:\examples\antiguos_modelos.xls"

end sub

sub obtener_name 'obtener el nombre del libro activo

MsgBox ActiveWorkbook.FullName

end sub

sub agreagar ' con esta macro agregas una nueva hoja en el libro activo

ActiveWorkbook.Sheets.Add

end sub

sub eliminar 'aqui eliminaremos la hoja "calculos1"

sheets("calculos1").delete

end sub

Sub select_primera 'activamos la primera hoja

ActiveWindow.ScrollWorkbookTabs Position:=xlFirst

'tambien podrias activarlo asi:

activeworkbook.sheets(1).activate

end sub

sub select_last 'activar la ultima hoja

ActiveWindow.ScrollWorkbookTabs Position:=xlLast

end sub

sub new_sheet ' con este ejemplo podras Insertar una hoja nueva (en la posición que quieras)

ActiveWorkbook.Sheets.Add Before:=Worksheets("pagos_abril")

end sub

sub mover_sht 'ejemplo de como mover una hoja

Worksheets("hojaxxx").Move After:=Worksheets("hojayyy")

end sub

sub eliminar las_shts ' y si te molesta eliminar las hojas una por una

'puede seleccionar varias y eliminarlas con la sgte macro.

ActiveWindow.SelectedSheets.Delete

end sub