No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Crear una subrutina

9/17
Recursos

Aportes 145

Preguntas 5

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

Comparto el siguiente Cheatsheet de VBA para excel

  • Adjunto enlace de descarga de la hoja completa > ir

Jajajajajajajaj, a que me gano un corazoncito!!!

Public Sub prueba2()

Sheets("Hoja2").Select
Cells(1, 1) = "Al pie de la letra"
Range(Cells(2, 1), Cells(5, 1)) = "Un"
Range("B2:B5") = "Mensaje"
Range("C2:C5") = "Interesante"

Comparto mi Reto:
.

Eh realizado lo siguiente una operaci贸n junto a un mensaje.

Public Sub prueba3()
	Sheets("Hoja3").Select
	Cells(1, 2) = 5
	Cells(2, 2) = 6
	Cells(3, 1) = "Resultado"
	Cells(3, 2).Formula = "=b1+b2"
	Sheets("Hoja3").Range("B3").Style = "percent"
End Sub

Me mostrar铆a de esta manera:

Aqui dejo mi resultado y el codigo

Public Sub prueba2()
    Sheets("Sheet3").Select
    Cells(1, 1) = "Hello Friend"
    Cells(2, 2) = "This is a sample"
    Cells(3, 3) = "about the proper usage"
    Cells(4, 4) = "of VBA"
    Range("A5:J5").Value = "See you in space, cowboy"
    Range("A1:J5").Interior.Color = RGB(0, 0, 0)
    Range("A1:J5").Font.Color = RGB(255, 255, 255)
    Range("A1:J5").HorizontalAlignment = xlCenter
    Range("A1:J5").Replace "", "*"
End Sub

Public Sub prueba3()
Sheets(鈥淗oja1鈥).Select
Range(Cells(4, 4), Cells(7, 7)) = "Aqu铆 te voy San Pedro!"
Cells(1, 1) = 23 * 35

End Sub

Hola, buen d铆a!

Comparto mi ejercicio

De igual manera encontr茅 esta URL con informaci贸n que de pronto puede servir para m谩s adelante.

https://learn.microsoft.com/es-es/previous-versions/office/troubleshoot/office-developer/select-cells-rangs-with-visual-basic

Feliz d铆a!

Espero un corazoncito de los Colombianos

Sheets("hoja1").Select
Cells(1, 1) = "oh gloria inmarcesible"
Cells(2, 1) = "oh jubilo inmortal"
Cells(3, 1) = "en surcos de dolores"
Cells(4, 1) = "el bien germina alla"
Range("E1:G2").Interior.Color = RGB(255, 255, 0)
Range("E3:G3").Interior.Color = RGB(0, 0, 255)
Range("E4:G4").Interior.Color = RGB(255, 0, 0)

Sheets("hoja2").Select
Cells(2, 2) = 3 * 2
Cells(2, 3) = 5 * 5
Cells(2, 4).Formula = "=b2 + c2"

MsgBox "Viva Colombia, se ha terminado de ejecutar la macro"

Mi primera subrutina creada por m铆

'vamos hacer otra subrutina

Public Sub prueba3()
Cells(5, 5) = "Hoy.."
Cells(6, 5) = "La vida me acaba de cambiar porque aprend铆 hacer funciones y subrutinas"
Range("E7:F8") = ":D"

End Sub

En VBA, Cells es una propiedad de los objetos de la hoja de c谩lculo que te permite acceder y manipular celdas espec铆ficas en Excel. La sintaxis b谩sica de Cells es la siguiente:

Cells(Fila, Columna)

Donde:

  • Fila es el n煤mero de fila de la celda que deseas acceder.
  • Columna es el n煤mero de columna de la celda que deseas acceder.

Puedes utilizar valores num茅ricos para especificar la fila y la columna, o puedes usar referencias de celda en forma de letras para las columnas (por ejemplo, 鈥淎鈥 para la columna A, 鈥淏鈥 para la columna B, etc.).

Por ejemplo, para acceder a la celda en la primera fila y la segunda columna, puedes utilizar la siguiente l铆nea de c贸digo:

Cells(1, 2)

Adem谩s, tambi茅n puedes utilizar la propiedad Cells junto con otras propiedades y m茅todos para referenciar rangos de celdas m谩s extensos. Por ejemplo, puedes especificar un rango de celdas utilizando Cells de la siguiente manera:

Range(Cells(FilaInicial, ColumnaInicial), Cells(FilaFinal, ColumnaFinal))

Donde:

  • FilaInicial y ColumnaInicial representan la primera celda del rango.
  • FilaFinal y ColumnaFinal representan la 煤ltima celda del rango.

Por ejemplo, para seleccionar un rango de celdas desde la celda A1 hasta la celda B3, puedes utilizar el siguiente c贸digo:

Range(Cells(1, 1), Cells(3, 2))

Esta es una forma 煤til de trabajar con m煤ltiples celdas a la vez y realizar operaciones en un rango espec铆fico de la hoja de c谩lculo.

Amazing! ![](https://static.platzi.com/media/user_upload/image-2b2c71d9-8e73-46d9-a1e6-7cf7aef686da.jpg)

El m谩s creativo jajaja

[](

Comparto mi tarea


Todav铆a s茅 que falta mucho pero ya estoy sintiendo que puedo crear cosas muy interesantes cuando expliquen como tomar los datos y agregarlos a una tabla .

Ejemplo de c谩lculo de impuestos.

Intent茅 realizar lo que ser铆a un formato para registrar datos

Comparto el reto de esta clase:

![](https://static.platzi.com/media/user_upload/PRUEBA2-66533d7f-75f0-4fc2-b0c2-6d829633037e.jpg) Aqui hay algo que no esta bien
'Vamos hacer una Subrutina Public Sub prueba2() Sheets("Hoja1").Select Cells(1, 1) = "Hola Mundo" Range(Cells(2, 2), Cells(3, 3)) = "Platzi es lo mejor" Range("A3:A5") = 2 \* 3 Range("C10") = "Hola a todos es mi primera macro" Range("B4") = Range("A3") \* 3 End Sub
Hecho: `'Esta es una SubRutina` `Public Sub prueba2()` ` Sheets("EstaHoja").Select` ` Cells(1, 1) = "Hola, Mundo"` ` Range(Cells(2, 2), Cells(3, 3)) = "Probando las Macros"` ` Range("A3:A6") = "Chequeando"` ` Range("D3:F6") = "QA"` `End Sub`
![](https://static.platzi.com/media/user_upload/image-b60a1214-035e-490f-b2cb-969ffb2295b9.jpg)
Mi avance ![](https://static.platzi.com/media/user_upload/image-23ac516e-211f-4048-bbb2-e6ceaec34663.jpg)
Commenting just for the points, it's also comment
```js Public Sub prueba3() Sheets("Hoja1").Select Range("A1:E5") = "You can do it" End Sub ```Public Sub prueba3() Sheets("Hoja1").Select Range("A1:E5") = "You can do it" End Sub Tu puedes!
![](https://static.platzi.com/media/user_upload/image-da7ce7ef-ab90-4200-a392-07c6c1975a23.jpg) ![](https://static.platzi.com/media/user_upload/image-24ccafa5-bf46-4a93-80e8-ce77c254ccce.jpg)
```python Public Sub anIntrestingMessage() Sheets("Sheet3").Select Range("B2:B10") = "An" Range("C2:C10") = "Intresting" Range("D2:D10") = "Message" End Sub ``` ![](https://static.platzi.com/media/user_upload/image-27baba43-c846-41b1-9032-af933ecbdf91.jpg)
`Public Sub anIntrestingMessage()` ` Sheets("Sheet3").Select` ` Range("B2:B10") = "An"` ` Range("C2:C10") = "Intresting"` ` Range("D2:D10") = "Message"` `End Sub` ![](https://static.platzi.com/media/user_upload/image-4862185a-50a9-4dea-9c7e-2aa23b89b892.jpg)
![](https://static.platzi.com/media/user_upload/image-d9a20976-227f-4549-a4fd-61872180cf00.jpg)
![](https://static.platzi.com/media/user_upload/image-ecb06511-89f1-46d0-84c3-a0fcbff92977.jpg)
Toda mi vida pensaba que para usar Range se ten铆a que usar como Range("A"\&variable&":B"\&variable2), ahora s茅 que puedo hacerlo indicando las celdas. No saben cu谩nto me va a ayudar esto, sufr铆a con esas cosas (y eso que he programado macros que hasta env铆an correos por outlook seleccionando adjuntos espec铆ficos). Pero bueno, uno siempre aprende algo nuevo :)
Buenas tardes, por favor alguien sabe sigo los mismos pasos y me sale un aviso cuando voy a empezar la rutina que dice error de compilaci贸n, se esperaba identificador

Mi prueba :

ejercicio ![](https://static.platzi.com/media/user_upload/image-fb485125-93e0-413d-b299-3ad02ffcffce.jpg)
![](https://static.platzi.com/media/user_upload/image-1540473b-fe08-40ce-8876-db306d7612bd.jpg)

Mi ejercicio

Creaci贸n de la subrutina:

Resultado:

Public Sub prueba2() 'Prueba de subrutina, las subrutinas no necesitan parametros, ya que haran un ajuste directo en el archivo de excel

    Sheets("Test_Macros").Select 'Para seleccionar la hoja donde quiero que se ejecute la macro
    Cells(1, 1) = "Hola Luis Jaramillo" 'Cells sirve para referenciar una celda dentro de la hoja de excel y se usa como sifuera coordenadas.
    Range(Cells(2, 1), Cells(5, 1)) = "Prueba de rango" ' Este comando sirve para hacer rangos en la hoja de excel.
    Range("A9:A20") = "Prueba de rango 2 con letras" 'Rango con letras

End Sub
Env铆o mi aporte ![](https://static.platzi.com/media/user_upload/image-09ee5ab1-0a22-4457-8cac-35db839aff70.jpg)

Comparto mi ejercicio, interesante clase

Public Sub prueba2() Sheets("Hoja1").Select Cells(1, 1) = "Annie Mart铆nez" Range(Cells(2, 1), Cells(2, 2)) = "Platzi es lo Mejor" Range(Cells(4, 1), Cells(4, 2)) = "Excelente Curso" Range("B6:B6") = "100%" Range("C6:C6") = "Son lo Mejor" End Sub
![]()Comparto mi ejercicio![](https://static.platzi.com/media/user_upload/reto-93007511-5d7c-476a-a535-7bae62983a33.jpg)

Buen d铆a,

adjunto mi aporte

Public Sub EnhancedPrueba()

    ' Reference the worksheet
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Sheets("sheet2")
    
    ' Ask the user for input
    Dim userInput As String
    userInput = InputBox("Please enter a greeting to display:", "Enter Greeting")
    
    ' Check if the user provided input or clicked cancel
    If userInput <> "" Then
        ws.Cells(1, 1).Value = userInput
    Else
        ws.Cells(1, 1).Value = "Hola Mundo"
    End If

    ' Color the cell background and change font color
    ws.Cells(1, 1).Interior.Color = RGB(255, 217, 102) ' Light yellow
    ws.Cells(1, 1).Font.Color = RGB(0, 112, 192) ' Dark blue
    ws.Cells(1, 1).Font.Size = 14
    ws.Cells(1, 1).Font.Bold = True

    ' Adding text to multiple cells and formatting them
    ws.Range(ws.Cells(2, 2), ws.Cells(3, 3)).Value = "Platzi es lo mejor"
    ws.Range(ws.Cells(2, 2), ws.Cells(3, 3)).Font.Italic = True
    ws.Range(ws.Cells(2, 2), ws.Cells(3, 3)).Borders.LineStyle = xlContinuous

    ' Performing a simple calculation and placing the result in multiple cells
    ws.Range("A3:A5").Formula = "=2*3"
    
    ' Auto-fit the columns to content width
    ws.Columns("A:B").AutoFit

End Sub

En Excel, una subrutina es un procedimiento sin resultado inmediato, a diferencia de una funci贸n. Esta subrutina se aplica directamente en la hoja de Excel. Los comentarios en el entorno de Visual Basic ofrecen orientaci贸n en el c贸digo sin alterar su funcionamiento. Puede crearse una subrutina p煤blica o privada en un m贸dulo, utilizando 鈥淧ublic Sub鈥 para definir su inicio y asignarle un nombre. Las celdas se referencian mediante 鈥淐ells(fila, columna)鈥, numerando filas y columnas, donde 鈥淎鈥 es 1, 鈥淏鈥 es 2, etc. Mediante 鈥淩ange(celdaInicial, celdaFinal)鈥, se pueden llenar rangos con informaci贸n, incluso especificando letras y n煤meros para columnas y filas. La subrutina se ejecuta desde Visual Basic o el libro directamente, a trav茅s del bot贸n 鈥減lay鈥 o F5. Tambi茅n es viable trabajar en hojas diferentes utilizando 鈥淪heets(鈥渘ombre鈥).Select鈥 para indicar d贸nde se aplicar谩 la subrutina.

Excelente herramienta

Comparto mi ejercicio

Superpoderosa herramienta! Magistral Clase!

Hola, esta es la actividad que hice de subrutinas

Public Sub InsertarDatos()

Sheets(鈥淗oja2鈥).Select
Cells(1, 1) = "Hola Mundo"
Cells(1, 1).Font.Bold = True
Range(Cells(3, 1), Cells(3, 2)).Merge
Range(Cells(3, 1), Cells(3, 2)) = "Este es un ejercicio interesante"
Range(鈥淎5:C5鈥).Merge
Range(鈥淎5:C5鈥) = 鈥淓ste es un ejercicio interesante x2鈥

End Sub

Al hacer que dentro de una subrutina se ejecuta una operaci贸n aritm茅tica no hace que la subrutina nos arroje un resultado? lo cual contradice su definici贸n que una subrutina no arroja un resultado


Que genial esta el curso.

馃槂

'we're going  to do a subrutine'
Public Sub prueba2()
    Sheets("prove").Select
    Cells(1, 1) = "Hello world"
    Range(Cells(2, 2), Cells(2, 10)) = "You can do it"
    Range(Cells(3, 3), Cells(10, 3)) = "just do it"
    Range(Cells(4, 4), Cells(5, 5)) = "do it"
    Range("F3:F5") = "excel works it"
    Range("F10:F12") = 8 * 5
    
    Sheets("Hoja1").Select
    Range("A1:R27") = 1
End Sub

Estos son mis resultados, esta genial

Buenas tardes
Les comparto mi codigo:
Public Sub prueba4()
Sheets(鈥淗oja3鈥).Select
Range(鈥渁1鈥) = "Item"
Range(鈥渁2鈥) = "PN"
Range(鈥渁3鈥) = "shipped"
Range(鈥渁4鈥) = "balance"
Range(鈥渁5鈥) = "date"
Range(鈥渁8鈥) = "Item"
Range(鈥渂8鈥) = "PN"
Range(鈥渃8鈥) = "shipped"
Range(鈥渄8鈥) = "balance"
Range(鈥渆8鈥) = 鈥渄ate鈥

End Sub

Mi sub rutina

Excel es lo mejor

Esto se pone interesante cada vez mas.

Veamos si ven la Referencia en mi Pr谩ctica. 馃憖

Ejercicio subrutina:

Buena clase.

Public Sub PRUEBA_03()

Sheets("HOJA3").Select
Cells(2, 2) = "RODRIGO CONZA LLANTOY"
Range(Cells(3, 1), Cells(4, 1)) = "CLASES ONLINE"
Range("C5:C7") = 3 * 9

Subrutina para crear un programador:

Lo paso

Buenas tardes,
Adjunto mi subrutina.
'Vamos hacer una subrutina.
Public Sub prueba3()
Sheets(鈥淪heet3鈥).Select
Cells(1, 1) = "NOMBRE"
Cells(1, 2) = "APELLIDO"
Cells(1, 3) = "EDAD"
Cells(2, 1) = "CAROLINE"
Cells(2, 2) = "BALBUENA"
Cells(2, 3) = 2023 - 1995
End Sub

Public Sub prueba2()
Sheets(鈥渉oja2鈥).Select
Cells(1, 1) = "ID"
Cells(1, 2) = "NOMBRE"
Cells(1, 3) = "APELLIDO"
End Sub

隆Thanks Platzi!

' Vamos a hacer una sub rutina
Public Sub prueba2()
'Refereciar una celda
    Cells(1, 1) = "Hola Mundo"
'matriz
    Range(Cells(2, 2), Cells(3, 3)) = "Ejemplo numero 2 de insercion por subrutinas"
 'uso de letras y numeros para insertar
    Range("A3:A5") = "Ejemplo 3"
End Sub

Comparto el proyecto de esta clase , muy divertido !!