Excel VBA and Macros - Chapter 25 - Error handling using On Error statement @EXCELeINFO

Поделиться
HTML-код
  • Опубликовано: 19 ноя 2024

Комментарии • 66

  • @bilalnajari1625
    @bilalnajari1625 5 лет назад

    Sencillamente el mejor curso de macros OpenSource de habla hispana de todo internet.

  • @samuelfranciscogarcia1440
    @samuelfranciscogarcia1440 3 года назад +1

    Gracias por regalarme un día MÁS de aprendizaje. GRACIAS ⚽🎁🏃🛀🛏🚀📚💃

  • @d3vlin13
    @d3vlin13 5 лет назад +1

    Sergio algo que pocos saben es que puedes comprobar si hubo un error cuando usas Resume Next.
    Ejemplo:
    Dim Msg
    On Error Resume Next
    If Err Then
    Msg = "Hubo un error"
    MsgBox Msg, , "Error",
    Else
    Msg = "No hubo error"
    MsgBox Msg, , "Error",
    End If
    On Error GoTo 0

  • @romeltorreschambilla1083
    @romeltorreschambilla1083 4 года назад

    Hola Sergio me ayudo mucho los bucles ahora e ahorrado horas de trabajo en depurar información de datos en mi trabajo

  • @humbertochinchillamora3513
    @humbertochinchillamora3513 5 лет назад

    Hola Sergio, muy buenos días. Por supuesto que nos gusta el ´vídeo y por supuesto que tienes tu ¡ Manito Arriba !. Un millón de gracias por tus aportes, todo va muy bien. Un abrazo, saludos.

  • @neonds9102
    @neonds9102 2 года назад

    Muchas gracias Sergio por tu aportación, es de grandisima utilidad.

  • @hectorsanchez9225
    @hectorsanchez9225 5 лет назад +3

    Lo máximo!!!! era lo que necesitaba para una macro que estoy ejecutando en mi trabajo...

  • @ing.luisgonzalez2206
    @ing.luisgonzalez2206 3 года назад

    Muy bien explicado la parte de control de errores. Gracias Sergio

  • @eberthalarcon1032
    @eberthalarcon1032 Год назад

    Mejor explicado, imposible!!!

  • @joselinoovalle5638
    @joselinoovalle5638 4 года назад

    Excelente Sergio,

  • @joselinoovalle5638
    @joselinoovalle5638 4 года назад

    Sí, es muy importante para mi proceso de aprendizaje, para poder aplicarlo en mi trabajo

  • @manuelmartin1952
    @manuelmartin1952 5 лет назад +2

    Por fin alguien que explica con claridad el tema de los errores. Cada vez me gusta más la programación....

  • @AtindriyaDas
    @AtindriyaDas Год назад +1

    Gracias Sergio!

  • @richardbalboa7161
    @richardbalboa7161 Год назад +1

    Esto es mejor que Coursera y Udemy

  • @luiscorado2868
    @luiscorado2868 5 лет назад +1

    Gracias una vez mas por tal magistral explicacion. Consulta haremos algun proyecto al final del curso para poner en practica todo lo aprendido, es tan solo una consulta.

  • @yamilvasquez9898
    @yamilvasquez9898 4 года назад

    SOS un geniaso hermano

  • @vincentferida6634
    @vincentferida6634 2 года назад

    Excelente video!

  • @victorhugofajardolopez1360
    @victorhugofajardolopez1360 5 лет назад +1

    Sergio buenas noches, gracias por esta nueva entrega.

  • @aldoramos6998
    @aldoramos6998 3 года назад

    Gracias por el contenido

  • @cristinabecerramontero
    @cristinabecerramontero 7 месяцев назад

    Me encanta el curso súper bien explicado

  • @AlexanderAriasCapera
    @AlexanderAriasCapera Год назад +1

    ¡Gracias!

  • @JinjinatoSMP
    @JinjinatoSMP 5 лет назад +1

    En el segundo caso, no sabía que había que cerrar con "On Error GoTo 0", de hecho no lo tengo puesto en mis archivos. Voy a ponerlo jejeje. Gracias Sergio.

  • @oscarsantos9251
    @oscarsantos9251 5 лет назад

    excelente entrega Sergio muy bna explicación gracias ,sal2 y pulgar arriba.

  • @diegososa7797
    @diegososa7797 5 лет назад

    Muy buenos los videos

  • @danielsanchez-oz9bs
    @danielsanchez-oz9bs 5 лет назад

    Muchas gracias por los videos, espero puedas seguir transmitiendonos tus conocimientos, saludos desde Mexico.

  • @roscaacinitram3058
    @roscaacinitram3058 4 года назад

    Que maravilla es aprender de tan ilustre profesor. Dios Te Bendiga Sergio!!!!!!. Muchísimas gracias por enseñar con ese entusiasmo...

  • @edicionexpress8559
    @edicionexpress8559 3 года назад

    Muy Util!!!!

  • @conradohernanvillagil2764
    @conradohernanvillagil2764 5 лет назад

    Gracias Sergio.

  • @elirodriguez229
    @elirodriguez229 Год назад

    Hola, Sergio.
    Antes de nada, muchas gracias por este curso. Me parece un admirable gesto por tu parte.
    Tengo una duda que no tiene que ver con el video en sí, pero espero me puedas echar una mano.
    Si aplico un Autofilter en una macro, ¿cómo puedo hacer para desplazarme solo por las celdas visibles del rango filtrado?
    Basado en lo que llevamos de curso, me puedo desplazar con Offset pero, en este caso del rango filtrado, se mueve tanto en lo filtrado como en lo oculto.
    Gracias de antemano por la ayuda.

    • @Julio_82
      @Julio_82 6 месяцев назад

      Usa SpecialCells(xlCellTypeVisible) y con conviertelo rango con una variable y si quieres recorrerlo celda por celda lo puedes hacer con for each

  • @fredericjavier
    @fredericjavier 5 лет назад

    Excelente Video Sergio, Muy completo Gracias

  • @rafaelvelasco2734
    @rafaelvelasco2734 5 лет назад

    Gracias Sergio,, mil gracias

  • @denisgomez4554
    @denisgomez4554 5 лет назад

    Un vídeo muy esperado

  • @Antonio8688
    @Antonio8688 5 лет назад

    Excelente, Sergio. ¿En qué casos se debe utilizar ElseIf?

  • @Denk_Carlos
    @Denk_Carlos 4 года назад

    👏👏

  • @joseluisdominguez3493
    @joseluisdominguez3493 5 лет назад +1

    Hola Sergio, excelente curso, muchísimas gracias por compartir tus conocimientos con los que queremos aprender. Me gustaría hacerte una sugerencia a propósito de este tutorial 25, podrías hacer un tutorial para saber el significado de los errores que lanza VBA cuando cometemos errores, ya que la descripción y el "lenguaje" que da el cuadro de diálogo al menos para los novatos es algo que no entendemos. Muchas gracias!!!!

  • @hectorjcedenog3107
    @hectorjcedenog3107 Год назад +1

    Hola amigo Sergio, un gusto saludarte. Me estoy iniciando en las macros de VBA y lo hago a través de tu curso. Quería saber si en un ciclo For Next, podemos hacer que no se ejecute la operación para un valor determinado y el ciclo continúe. No es el caso del video, que hacemos que salte una operación porque se genera un error. Es el caso, por ejemplo simple de imprimir los números del 1 al 10, pero cuando la variable sea igual a 5, no lo imprima, sino que salte al siguiente y continúe con el resto de los números. Probé con la sentencia CONTINUE, pero da error. Gracias amigo Sergio

    • @Julio_82
      @Julio_82 6 месяцев назад +1

      con if variable < > 5 then eso dentro de tu bucle for

  • @ericjohanibarrabuendia9697
    @ericjohanibarrabuendia9697 3 года назад

    Sergio buenas noches, seria posible que dejara ejercicios para estos capitulos?

  • @tomashernandez2510
    @tomashernandez2510 5 лет назад

    Buen día Sergio.-
    Acudo a ti con el fin de solicitar tu asistencia para la resolución de lo siguiente:
    Estoy preparando una hoja de Excel en la que utilizo varias filas, que están ocultas, para efectuar los cálculos necesarios, por ejemplo desde la fila 10 hasta la 20, pero al momento de la visualización de las mismas quiero que se efectué desde la fila 10 hasta la fila cuyo número introduzco en una celda ubicada, por ejemplo, en la fila 5.
    Por favor, me puede indicar las instrucciones que debe incluir una macro para que realice la visualización de las filas en cuestión.
    Mil Gracias por tu amable atención
    Atte
    Tomas Hdez

  • @joaquinverdugo6096
    @joaquinverdugo6096 5 лет назад +2

    Sergio, he visto varios ejemplos en algunos videos de macros que usan "On Error Resume Next" pero nunca había visto que cerraran con "On Error GoTo 0". Este cierre es siempre obligatorio?
    Gracias por esta nueva entrega Sergio, muy útil.

    • @SergioAlejandroCampos
      @SergioAlejandroCampos  5 лет назад +7

      Obligatoria no, nunca está de más hacer las cosas respetando las buenas prácticas. Hay ocasiones donde necesitamos implementar varios controladores de errores, ahí sí es obligatorio restablecer con Error goto 0

  • @DJJLA
    @DJJLA 5 лет назад

    Hola Sergio muy buenos tus videos, soy un apasionado por las macros, como tema abordar en estos tópicos me gustaría ver un caso practico de Paso por referencia (ByRef) o por valor (ByVal).
    Saludos...

  • @giovas2598
    @giovas2598 2 года назад

    Magazo!!!

  • @Edgaraza
    @Edgaraza 5 лет назад

    Sergio, muchas gracias por compartir tus enseñanzas, son muy aleccionadoras, me ayudas un montón! gracias mil....!
    Te pido por favor que me apoyes en un proyecto, y te explico...
    resulta que tengo mas de tres mil archivos muy simples de excel de solo una hoja y muy escasos datos que consisten en datos de la persona en las cinco primeras filas, y luego entre 5 a 25 proximas lineas solo datos simples todos los archovos cuentan con un mismo formato y numero de columnas fijas no mas de 10, pero el archivo se graba con nombre por "default" ejemplo: "archivo1"...etc como puedo hacer un macro que los pueda remombrarlos a cada archivo con el dato que se encuenta en la celda "C1" de esos archivos? o que los copie con otro nombre (dato extraido de la celda "C1" en otro directorio?
    Desde ya te agradezco por tu valiosa ayuda

  • @data4revenues625
    @data4revenues625 5 лет назад

    Hola me gustan tus videos deacros estoy aprendiendo mucho,
    Quiero hacer un dashboard y he dado con un archivo excel que esta hecho por macros y quería repiclarlo pero no se leer los módulos de las macros.
    ¿Me ayudarias?
    Te puedo pasar el archivo ?
    Un saludo y gracias por tus cursos

  • @PQEK62
    @PQEK62 5 лет назад

    Holaaa
    Gracias. Tengo una duda. Segun entendi son excluyentes las opciones de manejar los errores con la explicacion con la opcion que continue la macro. Espero hacerme entender.
    Si uso el manejador de errores que hace ke la macro continue, asi encuentre un error, no puedo usar la que informa la clase de error que se produjo.
    Entendi bien?. O se pueden usar las dos? Es decir, ke me muestre la explicacion del error y ke continue ejecutandose la macro.

  • @The_Barto_
    @The_Barto_ 3 года назад

    Pregunta Sergio porque no se debe ocupar GoTo en código??

  • @MedinaZyzz
    @MedinaZyzz 4 года назад +1

    Hola Sergio, me queda la duda, ¿Por qué la macro ignora la hoja EXCELeINFO? espero puedas contestar mi pregunta. Un saludo y excelente contenido. Gracias.

    • @SergioAlejandroCampos
      @SergioAlejandroCampos  4 года назад +1

      Lo hice así, porque en ocasiones tenemos una hoja de portada y no queremos que la macro la modifique. Dejo esa opción por si alguien tenga una hoja de esas y vean cómo hacerlo.

    • @harlesp.7461
      @harlesp.7461 3 года назад

      @@SergioAlejandroCampos Sergio yo quiero unificar archivos .txt guardados cada una en diferentes carpetas. y que se unan en un archivo nuevo txt. Que codigo nos puedes enseñar.?? Gracias

  •  4 года назад

    Algo que yo me he dado cuenta es que hay un punto donde si utilizas un On Error tras otro, llega un momento en que no detecta el error y lo pasa desapercibido.

  • @luiscruceszelaya2542
    @luiscruceszelaya2542 4 года назад

    Buenos dias Profesor Sergio, excelente explicación pero me quedó una duda
    Porque no salió error en la 1era hoja (de nombre ExceleInfo) si el contador la había considerado
    Muchas gracias

    • @julianguerrero5199
      @julianguerrero5199 2 года назад

      Fíjate que es porque no cumple con las condiciones para entrar en el loop. El loop toma las hojas que se llaman "Hoja" & i. En el caso de Exceleinfo no tiene el prefijo "Hoja".
      Saludos

  • @Raul-hl8sl
    @Raul-hl8sl 2 года назад

    Hola Sergio cómo podria hacer esto: si ocurre un error, que me devuelva al estado inicial. Osea como si no se hubiera ejecutado la macro.

  • @kiami.11
    @kiami.11 3 года назад

    saludos, tengo un prueba para hacer, donde te la puedo enviar para resolverla y conocer la respuesta?

  • @danielmezalabastida9926
    @danielmezalabastida9926 3 года назад

    Hola Quiero que la hoja se mantenga protegida y por tanto al inicio de la macro la desprotejo para que funcione y al final la protejo nuevamente antes del end sub pero cuando hay error a mitad de la macro y se finaliza, la hoja queda desprotegida, hay alguna manera de que en caso de error se proteja la hoja antes de finalizar

  • @luismagana3815
    @luismagana3815 5 месяцев назад

    On error goto -1 que hace?

  • @MultiJojose
    @MultiJojose 4 года назад

    al usar Err me arroja un error de compilación, que espera una variable, lo mismo con el código que viene en la hoja del ejercicio

  • @ellukayou
    @ellukayou 4 года назад

    Siempre usé on error resume next y nunca supe bien cómo funcionaba jajaja

  • @belenfuentesgomez2002
    @belenfuentesgomez2002 4 года назад

    Buenas Sergio, tengo un problema con un excel con macros que estoy realizando, en el realizo tareas de altas, modificación y bajas de clientes mediante formularios y el caso es que me sale a veces un error que no entiendo. No me sale siempre en el alta o en la modificación o en la eliminación, sino que es aleatorio, puedo dar 10 altas perfectamente y en la 11 me falla. El error que me sale dice lo siguiente: SE HA PRODUCIDO EL ERROR '-2147417848 (80010108)' EN TIEMPO DE EJECUCIÓN: ERROR EN EL MÉTODO 'VALUE' DE OBJETO 'RANGE' y me señala la fila
    With Sheets("Clientes")
    .Cells(filaInsercion, 1).Value = Me.TXT_CLAVE_CLIENTE.Value
    ¿Podrías ayudarme? No consigo solucionarlo de ninguna manera y mi excel es bastante complejo como para ponerme a rehacerlo o algo así.
    Mil gracias

  • @jeanvaljean6468
    @jeanvaljean6468 Год назад

    👍👍👌👌✔✔🦾🦾🤗🤗👀👀😎😎🍺🍺🍺🍺🍺🍺🍺🍺🍺🍺

  • @harlesp.7461
    @harlesp.7461 3 года назад

    Este manejador de errores es para un programador con mucha experiencia que ya conozca todos los posibles y motivos errores al ejecutar una macro. y los sepa definir como comentario en el codigo.

  • @elbertosuarez4854
    @elbertosuarez4854 Год назад

    Sub CommandButton1_Click()
    Dim Nombre As Variant
    Dim NombreBuscado As Variant
    Dim Rango As Range
    On Error GoTo etiqueta
    Set Rango = Sheets("Hoja1").Range("A1").CurrentRegion
    NombreBuscado = Me.TextBox1.Value
    If IsNumeric(NombreBuscado) Then
    NombreBuscado = VBA.CDbl(NombreBuscado)
    ElseIf IsDate(NombreBuscado) Then
    NombreBuscado = VBA.CLng(VBA.CDate(NombreBuscado))
    End If
    Nombre = Application.WorksheetFunction.VLookup(NombreBuscado, Rango, 2, 0)
    With Me
    .TextBox2.Value = Nombre
    .LblMensaje.Visible = False
    .TextBox1.SetFocus
    End With
    Exit Sub
    etiqueta:
    If Err.Number = 1004 Then
    With Me
    .LblMensaje.Caption = "El valor '" & NombreBuscado & "' no fué encontrad."
    .LblMensaje.Visible = True
    .TextBox2.Value = ""
    .TextBox1.SetFocus
    End With
    Else
    MsgBox "Ha ocurrido un error: " & Err.Description, vbExclamation, "elberto Suarez C"
    End If
    End Sub
    Private Sub UserForm_Initialize()
    With Me
    .TextBox2.Enabled = False
    .LblMensaje.Visible = False
    .CommandButton1.Default = True
    End With
    End Sub
    esta macro la estoy intendo hacer pero aun no me detecta cuando hay nun error, en donde estare equivicado, no salta a la parte del manejador de error, por favor alguien me puede ayudar