Excel VBA and Macros - Chapter 23 - For...Next loop and structured programming @EXCELeINFO

Поділитися
Вставка
  • Опубліковано 29 жов 2024

КОМЕНТАРІ • 85

  • @rodrigocorrales5049
    @rodrigocorrales5049 Рік тому +1

    gracias Sergio. Eres un excelente profesor. Sigo aprendiendo mucho. Dios te bendiga

  • @adminpowermix
    @adminpowermix Рік тому +2

    Sergio muchas gracias, por tu tiempo y dedicación, excelente curso!!!!!!, ojala con el tiempo pudieras hacer un curso dejando tareas asignadas por tema visto para practicar con una estructura fija y retadora, y desarrollarlo al iniciar el siguiente video, esto con el fin de poner en práctica lo visto en el video pero con casos prácticos y cotidianos, es una sugerencia más sin embargo sino se pudiera de todas formas muchas gracias por el excelente material, un fuerte abrazo desde Colombia

  • @sanchezalexito
    @sanchezalexito Рік тому +4

    Wooooa!!!! Me emocioné con este video y el ejercicio tan padre. Ya se me está quitando el temor al código VBA y espero ponerlo pronto en acción.

  • @carolcabrera8103
    @carolcabrera8103 3 роки тому

    Sergio Alejandro, tienes una EXCELENTE manera de enseñar: Planificada, Ordenada y muy Clara, sigo aprendiendo con mucha dedicación. Mil Gracias.. es el mejor curso que he visto...

  • @christianrodriguez3022
    @christianrodriguez3022 Рік тому

    Este video es asombroso. Excelente forma de explicar.
    Gracias nuevamente por el curso

  • @samuelfranciscogarcia1440
    @samuelfranciscogarcia1440 3 роки тому +1

    Me gusta todo lo que haces y GRACIAS por regalarme tu conocimiento 👪💇

  • @GabrielDeGondor
    @GabrielDeGondor 7 місяців тому

    Muy bueno Sergio, mucha claridad en la explicación, Saludos desde Argentina.

  • @williamallasiechevarria2005
    @williamallasiechevarria2005 3 роки тому

    Excelentes clases, la verdad contigo si dan ganas de aprender Macros en excel. Muchas gracias y que Dios y el Universo te llenen de bendiciones y mucha abundancia. Saludos.

  • @Mar10Bravo
    @Mar10Bravo 2 роки тому

    Sin duda ver estos videos y aplicarlos a mi trabajo me han ahorrado mucho tiempo.

  • @alejandromiguelromerojimen7215
    @alejandromiguelromerojimen7215 5 років тому +1

    La explicación del ejercicio y el desarrollo están excelentes, el curso cada vez toma mejor rumbo ya con todas las instrucciones... SALUDOS

  • @davidmallo4850
    @davidmallo4850 4 роки тому

    Me están sirviendo mucho tus videos para hacer diferentes macros para el desarrollo de tareas repetitivas en mi trabajo, sobre todo la materia explicada en los primeros 16 temas que son más fáciles para mi nivel actual. A partir del tema 17 de las instrucciones y bucles de la programación estructurada, me es más complicado, de momento, darles practicidad en mis actividades. Será cuestión de más práctica. Además tu dicción y vocabulario es muy agradable y tu forma de explicar magnífica. Muchas gracias por todo

  • @wendycastillo2522
    @wendycastillo2522 3 роки тому

    GRACIAS PROFE POR COMPARTIR SUS CONOCIMIENTOS, Y FELICITACIONES POR SU EXCELENTE MANERA DE DICTAR EL CURSO...

  • @CarlosOrtiz-vp3fg
    @CarlosOrtiz-vp3fg 4 роки тому

    Excelente Profesor. Estoy aprendiendo mucho y siguiendo los videos uno a uno con bastante interes y deseos de aprender mas. Su forma de enseñar es muy buena y repasar lo aprendido de los videos anteriores en uno nuevo me parece correcto. Gracias por compartir el curso. Saludos desde El Salvador

  • @johnmedina5222
    @johnmedina5222 4 роки тому

    Gracias Sergio, tu conocimiento es un legado muy importante

  • @bot6731
    @bot6731 5 років тому +2

    Justo lo que estaba buscando para realizar mi trabajo. Gracias por el aporte.

  • @HectorMendozas
    @HectorMendozas 5 років тому +6

    Me a parecido excelente el curso, tantas cosas buenas y bien detalladas que existen gracias Sergio.... como sugerencia a lo que se venga en este curso mas adelante avanzado de macros, seria interesante, ver el manejo con Access, Outlook, Word, la combinacion con estas dos aplicaciones que son muy útiles...

  • @Josegregorio2601
    @Josegregorio2601 4 роки тому

    Felicitaciones profe eres muy bueno impartiendo tus conocimientos en la materia

  • @jaimealonsoprietopalomar6349
    @jaimealonsoprietopalomar6349 5 років тому

    Excelente exposición. Gracias por enseñarnos de una manera fácil, sencilla, clara y didáctica.
    Hemos despejado muchas dudas y hemos realmente aprendido los fundamentos de las Macros en VBA..

  • @tenasas10
    @tenasas10 4 роки тому

    Excelentes los videos he aprendido un montón muchas gracias

  • @cristaldisenospanamapanama7515
    @cristaldisenospanamapanama7515 4 роки тому +1

    Muchas gracias Sergio, muy interesante, util y excelente pedagogia. Saludos!

  • @juanjosanchez1484
    @juanjosanchez1484 4 роки тому

    Genial Todos los vídeos . Muchas Gracias Sergio

  • @hectorsanchez9225
    @hectorsanchez9225 5 років тому

    Que buen vídeo..Gracias he dado un pasito màs !!!!

  • @jorgerodriguezbueso2718
    @jorgerodriguezbueso2718 2 роки тому

    Muchas Gracias Sergio...!!!

  • @carlosalcolea3152
    @carlosalcolea3152 5 років тому +1

    Excelente Sergio, muy bien explicado, sigue a si, eres de gran ayuda.

  • @AtindriyaDas
    @AtindriyaDas Рік тому +1

    Gracias Sergio!

  • @ericksegura1040
    @ericksegura1040 2 роки тому

    Amigo saludo desde Costa Rica tu curso es maravillo, ando buscando algo similar para mi trabajo pero mi idea es que pregunte cuantas líneas desea ingresar y si dice 3 ejemplo que pida el monto de cada una de las líneas para ese ítem por así decirlo

  • @alexisalca4080
    @alexisalca4080 5 років тому +2

    Gracias, muy bueno como siempre, sigue así Sergio.

  • @andrespipipipe
    @andrespipipipe 3 роки тому +1

    yo hice el codigo un poco mas sencillo, pero todo gracias a tus videos anteriores
    Sub forr()
    Dim i As Byte
    Dim si_no As Byte
    Sheets.Add Before:=Sheets(1)
    For i = 1 To Sheets.Count
    Sheets(1).Cells(i, 1) = Sheets(i).Name
    Next i
    si_no = MsgBox(" Desea cambiar el nombre de la hoja?", vbYesNo, "Modificar nombre")
    Select Case si_no
    Case 6
    Sheets(1).Name = Application.InputBox("Ingrese el nuevo nombre", "Hagale pues mijo", , , , , , 2)
    Case 7
    Sheets(1).Name = "Indice"
    End Select
    End Sub

  • @rafaelvelasco2734
    @rafaelvelasco2734 5 років тому

    Gracias Sergio, excelente profesor

  • @torricd
    @torricd 2 місяці тому +1

    Muchas gracias por el curso!!!!

  • @conradohernanvillagil2764
    @conradohernanvillagil2764 5 років тому +1

    Gracias Sergio.

  • @ginover63
    @ginover63 5 років тому

    Excelente como siempre Sergio, claro y conciso.

  • @albertopenalver1435
    @albertopenalver1435 5 років тому

    Muchas gracias Sergio. Muy buen material

  • @oscarsantos9251
    @oscarsantos9251 5 років тому +1

    grandioso Sergio gracias sal2 y pulgar arriba.

  • @edgarpadillahdez8822
    @edgarpadillahdez8822 5 років тому +2

    Excelente Video Amigo

  • @cristaldisenospanamapanama7515
    @cristaldisenospanamapanama7515 4 роки тому +2

    Muy agradecido, me ha sido muy util, tienes excelente pedagogia. Pregunta: Hay una manera de planificar la elaboracion de una macro? tu empiezas con las variables, como saber de antemano por donde empezar? De que manera recomiendas iniciar el trabajo, como planificar el trabajo?. Muchas gracias Sergio!!

    • @SergioAlejandroCampos
      @SergioAlejandroCampos  4 роки тому +2

      Es una pregunta muy interesante. El tema de la variables es siemple, deben de ir al inicio. Con respecto a la estructura de la macro, primero debes definir qué quieres que haga la macro, pensando los pasos en lenguaje normal, luego definir qué instrucciones usarás.

  • @christianaguilarrojas1353
    @christianaguilarrojas1353 5 років тому +1

    Grande Sergio!

  • @ing.luisgonzalez2206
    @ing.luisgonzalez2206 2 роки тому +1

    Saludos Sergio. Excelente curso, lo sigo completo aunque ya programo VB. La pregunta. En el cuadro de diálogo no debería ser WorkSheet en vez de WorkBook para cambiar el nombre de la hoja.?

  • @juandedioshernandez5310
    @juandedioshernandez5310 4 роки тому

    excelente video Sergio, solo un comentario, el final donde le asignamos nombre a la hoja, pudo quedar al principio, de esa manera al registrar los nombre en las celdas ya se hubiera registrado con el nombre asignado

  • @d3vlin13
    @d3vlin13 5 років тому

    Me gustaría ver un vídeo donde expliques mas a fondo la función .Dialogs

  • @glorca2000
    @glorca2000 4 роки тому +1

    Sergio: El bucle For Next sirve para ir realizando la misma acción en varias hojas? No me corre la siguiente macro:
    Sub AjustarEspacios()
    Dim i As Integer
    For i = 3 To 7
    Worksheets(i).Range("Q5").Select
    Range(Selection, Selection.End(xlToRight)).Select

    With Selection
    .HorizontalAlignment = xlGeneral
    .VerticalAlignment = xlBottom
    .WrapText = False
    .Orientation = 90
    .AddIndent = False
    .IndentLevel = 0
    .ShrinkToFit = False
    .ReadingOrder = xlContext
    .MergeCells = False
    End With
    Rows("5:5").EntireRow.AutoFit
    Rows("5:5").RowHeight = 72.75
    Next i
    End Sub

  • @maurogajardo7538
    @maurogajardo7538 5 років тому

    Muy bueno. Tengo una consulta, se puede utilizar un intervalo discontinuo, como por ejemplo que i valga 1, después 2, después por ejemplo salte a 5?
    Algo así como For i (1,2,5).
    Es que tengo una macro que hay celdas que las quiero saltar.

  • @edgarpadillahdez8822
    @edgarpadillahdez8822 5 років тому +3

    Amigo haces otro video que hables de word

  • @wesber80
    @wesber80 4 роки тому

    Hola alejandro, Dios te bendiga... Gracias por estos grandes conocimientos... Quería preguntarte si puedes hacer alguna explicación(video) de bucles anidados con el for - next y su lógica, sería excelente ya que en UA-cam hay pocos que expliquen esto.

  • @carlosariza334
    @carlosariza334 3 роки тому

    Hola omo todos tus videos muy buenos mucahs gracias. pero tengo una duda en este capitulo 23 para q se creo la variable NUEVONOMBRE y tambien por que no se le asigna ningun tipo de dato a la variable NUEVONOMBRE y a la variable RESP...Gracias....y como siempre sigo aprendiendo contigo

  •  4 роки тому

    Exacto, hay otro que es Go Sub, tampoco ese. Desde que existe el encapsulamiento o el llamado a otras Macros.

  • @diegon1370
    @diegon1370 2 роки тому

    Hola Sergio, lo que no entendí es la definición de la variable "nuevo nombre, resp", debido a que siempre vimos que luego de la variable a definir viene la palabra as, y luego el tipo de variable. Saludos y gracias.

  • @rrrraaaacccc80
    @rrrraaaacccc80 8 місяців тому +1

    👍💯

  • @The_Barto_
    @The_Barto_ 3 роки тому

    Pregunta no declaraste la variable nuevonombre y resp cómo variant??

  • @signifer6742
    @signifer6742 5 років тому

    Sergio, una pregunta sobre la propiedad Dialogs de Excel. Quizá se va a tratar más adelante. Aunque, mi duda es una simple curiosidad.
    Cuando usamos esta linea de comando Application.Dialogs(xlDialogWorkbookName).Show El cuadro de diálogo ya tiene como título cambiar el nombre de la hoja. hablamos de un objeto de la colección WorkSheets. Sin embargo el cuadro preestablecido es xlDialogWorkbookName y veo que no existe xlDialogWorkSheetsName. Se refiere a workbook, pero sabe que estamos trabajando con el nombre de una hoja. Me llamó la atención
    Te felicito por tu manera de enseñar. Haces que resulte fácil entender lo que explicas
    Saludos

  • @mr.ridicules5850
    @mr.ridicules5850 3 роки тому

    ¿Cómo el cuadro de diálogo propio de Excel sabe que le quiero cambiar el nombre solamente a la primera hoja?
    Saludos, excelente video
    Greetings,

  • @oOGonzaOo7
    @oOGonzaOo7 3 роки тому

    Hola Sergio, muchas gracias por la información. Pero tengo una consulta. Cuando repito los mismos pasos que has hecho tú, mi contador empieza a contar desde cero y no desde uno. ¿Qué debo de hacer allí?

  • @yomero327
    @yomero327 5 років тому

    Hola, tengo una duda, si tengo una columna con 3 celdas, por ejemplo "A1=0, A2=5 & A3=2" ; puedo utilizar estos bucles para que, el valor de la celda A3 pase a la celda A1?.....o inclusive a la celda A2 en caso de que fuera esta celda la que no tiene un valor. Gracias señores

  • @harlesepc5906
    @harlesepc5906 Рік тому

    Por fa quien me saca de dudas, es que no entendi algo, cuando Sergio ejecuta la macro para saber la cantidad de hojas aparece el valor numero 8, osea que habian 8 hojas en el archivo, entonces cuando el crea una nueva hoja aparece como nombre hoja13, dando entender como si inicialmente habian 12 hojas, si en realidad habian solo 8, porque salio hoja numero 13 ? No deberia aperece hoja No 9. ?

  • @manuelgonzalez-yz4pf
    @manuelgonzalez-yz4pf 5 років тому

    👍👍👍

  • @vacosauriomandaloriano
    @vacosauriomandaloriano 5 років тому

    ¿Cual es la diferencia entre "For Each" y "For"?
    ¿Es necesario poner despues de "Next" la variable i o esta se puede no escribir?, ya que cuando uso este bucle, después de "Next" no le pongo la i, pero la macro funciona bien.
    Saludos

    • @tesla1278
      @tesla1278 5 років тому +1

      Ambos bloques son bucles, Como la mayor parte del trabajo de programación con Excel es trabajar con Colecciones (también con propiedades de objetos) For Each se creo para recorrer colecciones enteras sin necesidad de saber de manera explicita cuantos elementos tiene la colección a recorrer, es decir, dejas de preocuparte por ese valor. No es necesario escribir la variable de control, pero se recomienda que si se haga por cuestiones de buenas practicas.

    • @SergioAlejandroCampos
      @SergioAlejandroCampos  5 років тому +1

      Excelente respuesta Alfredo.

    • @vacosauriomandaloriano
      @vacosauriomandaloriano 5 років тому

      Muchas gracias por su respuesta.
      Saludos ✌🖖

  • @antrax1969
    @antrax1969 2 роки тому

    Tengo un formulario con 9 cajas de texto, quiero meter un ciclo for to next...pero me rechaza el arreglo....for i = 0 to 9....if txtnumero(i).texto= "" then....txtnumero(i).texto="0"....endif...next i......me está marcado el error en el txtnumero(i).....diciendo que no se ha definido sub o function....como puedo resolverlo?

  • @santosemilianohinojosacaui7898

    Requiero concatenar varias celdas de la columna "B" de acuerdo a la columna "A" dónde tengo datos que me indican que es el inicio y el fin de las celdas que quiero concatenar.
    No eh buscado como hacerlo. Eh visto muchos tutoriales pero ninguno hace algo así.
    Si pueden ayudarme se los agradecería

    • @SergioAlejandroCampos
      @SergioAlejandroCampos  Рік тому

      Qué tienes en la columna A?

    • @santosemilianohinojosacaui7898
      @santosemilianohinojosacaui7898 Рік тому

      @@SergioAlejandroCampos tengo fechas en la columna "A", y por cada una hay conceptos en una columna que quiero agrupar o concatenar

    • @SergioAlejandroCampos
      @SergioAlejandroCampos  Рік тому

      Busca mi video de Agrupar con Power Query

    • @santosemilianohinojosacaui7898
      @santosemilianohinojosacaui7898 Рік тому

      @@SergioAlejandroCampos ya ví los vídeos pero no lograrán lo que busco.
      Mira estoy trabajando con estados de cuenta mismos que convierto a excel con un programa. El caso que los depósitos y retiros están todos bien por celdas, incluso las fechas.
      Ahora el tema aquí es que los conceptos están en una columna que varía el rango de acuerdo a la transacción que se realice y necesito agregar concatenado ese rango en la fila de la fecha y el movimiento. Para que mi estado de cuenta tenga una mejor presentación y para filtros sea útil y fácil el análisis.
      Lo quiero de esta manera:
      Columna a fila 1 01/01/2023
      Columna B fila 1 conceptos agrupados
      Columna C y D fila 1 depósito o retiros
      Y así sucesivamente.
      Se un poco de macros pero por más que intento ejecutar los bucles for no obtengo el resultado.
      Lo que pienso es obtener el número de fila de la fecha del primer movimiento y la fila vacía antes del segundo movimiento y escribirlas en las columnas j y k dónde conociendo esos datos puedo concatenar la información de acuerdo a las filas encontradas

  • @MrPerrokalato
    @MrPerrokalato 5 років тому

    Hola Sergio .... En casos usó SET y WITH ?

    • @SergioAlejandroCampos
      @SergioAlejandroCampos  5 років тому +1

      Hola. Set para pasar toda una referencia de un objeto a una variable y WITH para evitar escribir toda la referencia de un objeto y ahorrar código. En videos pasamos lo explicamos al fondo, has podido verlos?

    • @MrPerrokalato
      @MrPerrokalato 5 років тому

      Vaya creo que no ... Revisaré uhmn

    • @MrPerrokalato
      @MrPerrokalato 5 років тому

      Lo necesito para mantener un área uniforme para poder imprimir varias áreas ya sea en papel o PDF

    • @tesla1278
      @tesla1278 5 років тому

      @@SergioAlejandroCampossi me lo permites Sergio, un comentario complementario. Como la mayor parte del trabajo con Excel es trabajar con colecciones y propiedades de los objetos, With End With se creo cuando tienes que manipular varias propiedades de un mismo objeto. Con esto escribes menos código, el rendimiento de tu procedimientos se incrementa en velocidad, ya que Excel no tiene que estar resolviendo referencia al objeto (que seria la misma referencia) y tu código se ve mas limpio y fácil de mantener y/o entender.

  • @eduardoalvarez7929
    @eduardoalvarez7929 Рік тому

    Hola!
    Alguien me puede ayudar?
    Tengo un cilco For Next en el que quiero insetar una funcion Vlookup
    El problema es que no encuentro como definir el rango de busqueda ya que este debe ir variando en la medida que el ciclo next avanza, es decir
    Para el primer ciclo la función debe buscar el valor en la hoja 1
    Para el ciclo 5 lo debe buscar en la hoja 5 y asi sucesivamente
    El detalle es que no encuentro como estructurar la instruccion para que reconozca la variable dentro de la instrucción Vlookup
    Hasta ahora lo he logrado hacer pero con un valor fijo...
    La instrucción es del tipo
    ActiveCell.FormulaR1C1 = _
    "=VLOOKUP(""PRECIO UNITARIO:"",'Partida 1'!R10C6:R150C7,2,0)"
    La idea es insertar la formula buscar para que localice un valor dentro de un rango definido y debería ir variando el valor de la partida en la medidad que avanza el ciclo for next.
    Gracias

  • @yonymedina148
    @yonymedina148 4 роки тому

    muy buenos dias. mis saludo equipo de excelInfo. mis agadecimientos por tuda sus ayudas y recomendaciones..
    enbase a eso, tengo informacion y preguntas que me podrias ayudar,, dime como seria la mejor manera de comunicarme con uds.. mil grcias

  • @37no37
    @37no37 5 років тому +1

    Señor Sergio, Usted lo hace muy bien, pero por favor no invite al Señor Rojas, el habla como si regañara a su audiencia, estamos muy bien con Usted. Gracias.

    • @SergioAlejandroCampos
      @SergioAlejandroCampos  5 років тому

      Gracias Jeyner, aunque es cuestión de estilos. Aquí seguimos dándole.

  • @manolofalcaoruiuz
    @manolofalcaoruiuz 2 роки тому

    y la programación estructurada del 1:32

  • @luisgil6248
    @luisgil6248 2 роки тому

    hola amigo como esta disculpa y como puedo aplicar el bucle for en etste comando
    UF = Sheets("DATOS").Range("B" & Rows.Count).End(xlUp).Row: Fila =WorksheetFunction.Match(Sheets("Tabla3").Range("B11"), Sheets("DATOS").Range("B1:B" & UF), 0)
    Sheets("DATOS").Range("J" & Fila) = Sheets("Tabla3").Range("E11")
    Sheets("DATOS").Range("E" & Fila) = Sheets("Tabla3").Range("D11")

  •  4 роки тому

    Ciclo for es para cobardes, NTC. De hecho yo prefiero ese ciclo.