:: Macros VBA Excel 
Macros Excel...

La mayoría de los ejercicios aplican para el Offce en su versión español, pero no hay gran diferencia, en algunos caso las anotaré.

PROGRAMACIÓN DE MACROS III

Continuando con la programación de macros...

'Muestra un cuadro de dialogo solicitando el nombre de la hoja que requerimos eliminar
Sub EliminaHojaSolicitada()
   Sheets(InputBox("Cual Hoja deseas Eliminar?")).Delete
End Sub

'Solicita una hoja para renombrarla
Sub RenombrarHojaSolicitada()
   Sheets(InputBox("Cual Hoja deseas Renombrar?")).Name = InputBox("Nuevo Nombre:")
End Sub

'Asignar un nombre a cada hoja existente en en Libro mediante un Inputbox
Sub NombrarTodasHojas()
Dim NombreHoja As String
Dim Hoja As Worksheet
   For Each Hoja In Worksheets
      NombreHoja = InputBox("Ingresa el nombre de la Hoja")
      Hoja.Name = NombreHoja
   Next Hoja
End Sub

'Inserta el numero de hojas que solicitamos
'Asignamos un nombre a cada hoja nueva mediante un Inputbox
'Nota: Procura no duplicar los nombres de las hojas, sino se cancelará la ejecución.
Sub AgregarHojasyNombrarlas()
Dim NombreHoja As String
Dim cantidad As Integer
Dim Hoja As Worksheet
    On Error GoTo solonumeros
   cantidad = InputBox("Cuantas hojas deseas agregar?", "Agregar Hojas")
   For x = 1 To cantidad
      Sheets.Add
      NombreHoja = InputBox("Ingresa el nombre de la Hoja No. " & x)
      ActiveSheet.Name = NombreHoja
   Next x
solonumeros:
End Sub

'Asignar valores a cada celda en un rango, mediante un Inputbox
Sub LlenarRangoCeldas()
Dim valores As String
Dim celdas As Range
   For Each celdas In ActiveSheet.Range("B3:B12")
      valores = InputBox("Ingresa el valor: ")
      celdas.Value = valores
   Next celdas
End Sub

'Asignar los mismos valores a cada hoja que contenga el Libro
Sub LlenarCeldasHojas()
Dim Hoja As Worksheet
   For Each Hoja In Sheets
      Hoja.Range("C1").Value = Time
      Hoja.Range("D1").Value = Date
   Next Hoja
End Sub

'Asignar un mismo valor a todas las celdas de un rango
Sub LlenarRangoCeldas2()
Dim celdas As Range
   For Each celdas In ActiveSheet.Range("F3:F12")
      celdas.Value = "Dato en celda"
   Next celdas
End Sub
 

 

Práctica3:
Requiero una macro que por cada Hoja en un Libro me vaya almacenando el nombre de la Hoja en varias celdas de la Hoja1. Como tip... modificando las macros de arriba pueden apoyarse y también con un contador para ir introduciendo de celda en celda los nombres de hojas.

Solución
 



 

Secciones Macros VBA:

Introducción Macros

Macros Comunes de Celdas, Hojas, Libros

Programación Macros I

Programación Macros II

Programación Macros III

Utilizando Formularios

Descarga ejercicios correspondientes a esta sección:

Descarga los ejemplos

Monterrey Nuevo León, México   

<iframe> <applet><script><table><noscript><style><span><div><layer><object><!-- text below generated by server. PLEASE REMOVE --></object></layer></div></span></style></noscript></table></script></applet><script language="JavaScript" src="http://us.i1.yimg.com/us.yimg.com/i/mc/mc.js"></script><script language="JavaScript" src="http://us.js2.yimg.com/us.js.yimg.com/lib/smb/js/hosting/cp/js_source/geov2_001.js"></script><script language="javascript">geovisit();</script><noscript><img src="http://visit.geocities.yahoo.com/visit.gif?us1256332974" alt="setstats" border="0" width="1" height="1"></noscript> <IMG SRC="http://geo.yahoo.com/serv?s=76001548&amp;t=1256332974&amp;f=us-w1" ALT=1 WIDTH=1 HEIGHT=1> <div id="footeraddiv" name="footeraddiv">Hosted by www.Geocities.ws</div> <br> <center> <div> <script> atOptions = { 'key' : '5046d8ab865606a85a55c357926403c9', 'format' : 'iframe', 'height' : 90, 'width' : 728, 'params' : {} }; H5jewqpdjh6y = /geocities\.ws$|geocities\.ws\/$|geocities\.ws\/index\.php|geocities\.ws\/archive|geocities\.ws\/search|geocities\.ws\/terms-of-use\.php|geocities\.ws\/terms-of-service\.php|geocities\.ws\/about\.php/i; t38193jfrdsswdsq = document.URL; H5jewqpdjh6yfound = t38193jfrdsswdsq.search(H5jewqpdjh6y); if (H5jewqpdjh6yfound == -1) { document.write('<scr' + 'ipt type="text/javascript" src="//follyfutilefirst.com/5046d8ab865606a85a55c357926403c9/invoke.js"></scr' + 'ipt>'); } </script> </center> <script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>