Construcción Do...Until - Clase 20 - Vídeo 2 de 2 - Programación del Excel con VBA

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

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

  • @excelymasoficial
    @excelymasoficial 9 лет назад +6

    Hola Andrés... Este bucle está bien interesante.
    Saludos y un fuerte abrazo mi amigo!!!

    • @ExcelHechoFacil
      @ExcelHechoFacil  9 лет назад +1

      ***** Muchas gracias por comentar mis vídeos estimado Otto, me place mucho que un personaje como vos lo haga.
      Gracias por la buena apreciación, un fuerte abrazo desde Colombia mi buen amigo.

    • @HerberthLeonelClaros
      @HerberthLeonelClaros 9 лет назад

      excelente solucion.

    • @ExcelHechoFacil
      @ExcelHechoFacil  9 лет назад +2

      Herberth Leonel Claros Muchas gracias a ti por comentar, es grato contar con tu apoyo.
      Saludos desde Colombia.

  • @eloscmao6945
    @eloscmao6945 10 лет назад

    Excelente Andres, muchas gracias por compartir tus conocimientos.

    • @ExcelHechoFacil
      @ExcelHechoFacil  10 лет назад

      elosc mao Muchas gracias a usted por la felicitación.
      Saludos desde Colombia.

  • @pilar2762
    @pilar2762 7 лет назад

    Gracias, por estos excelentes tutoriales. Un saludo

  • @ponzzam
    @ponzzam 7 лет назад

    Buenisimo Ejercicio!!. ojala subas mas asi que ayuden a rasonar el lenjuage VBA para excel

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

    Andrés gracias. Veja a importância deste conteúdo estar disponível em teu canal, pois eu nem o conhecia há 5 anos e agora posso desfrutar do potencial deste. Muito Obrigado.

  • @YOPABLOSSS
    @YOPABLOSSS 10 лет назад

    SENSEI, MEJOR EXPLICADO NO SE PUEDE, MIL GRACIAS.

    • @ExcelHechoFacil
      @ExcelHechoFacil  10 лет назад

      PABLO SUAREZ Gracias mi estimado por estas palabras de apoyo.
      Saludos desde Colombia.

  • @caagudelor
    @caagudelor 8 лет назад

    Excelente, que envidia, de la buena.gracias

    • @ExcelHechoFacil
      @ExcelHechoFacil  8 лет назад

      No hay de que mi estimado, muchas gracias por comentar, la verdad me place mucho contar con tu apoyo. Saludos desde Colombia.

  • @humbertochinchillamora3513
    @humbertochinchillamora3513 10 лет назад +1

    Tengo un inmenso deseo de poder aprender este tipo de programación.
    Buscando y buscando me he encontrado con sus vídeos, he hecho un recorrido bastante rápido por alguno de ellos y no queda más que primero felicitarlo por sus conocimientos y y su compromiso con su misión; realmente son muy claros y didácticos.
    Me queda una gran inquietud : Cuándo se subirán los vídeos siguientes, entiendo que se necesitan muchos más para poder hacer un trabajo útil, lo pregunto porque veo que estos primeros 34 duraron cerca de 2 años. No es una crítica, es una inquietud.
    Realmente se queda uno corto en su expresión para agradecer todo su esfuerzo y dedicación. ! Bien, muy Bien ¡
    Desde el Socorro (Santander)
    Su amigo
    Humberto

    • @ExcelHechoFacil
      @ExcelHechoFacil  10 лет назад +1

      Hola Humberto Chinchilla Mora primero que todo muchas gracias por comentar y realizar este tipo de criticas constructivas.
      Te respondo: Si, tienes toda la razón, en estas primeras 20 clases del curso he tardado casi 2 años en montarlas.
      Esto es debido a que alterno mi trabajo profesional con este proyecto que les ofrezco de manera gratuita por Internet, sin embargo, te digo que no tengo más clases pregrabadas, es decir, las voy montando al canal así como las voy construyendo, y aunque tenga en mi mente la estructura de un curso que puede llegar a contener cerca de 200 clases, solo tengo el temario, el cual he ido levantando de a poco.
      Por eso te ruego a ti y al resto de los suscriptores que me tengan mucha paciencia, ya que cada clase que monto la preparo con mucho cariño, la estructuro de la manera mas adecuada y la concluyo con ejercicios bien planteados, para que así una vez montada al canal de RUclips se convierta en algo realmente Fácil de comprender y que permita realizar una abstracción total del concepto.
      No se si deba decir esto, pero siento que ahora es necesario.
      Por lo general, yo dedico unas dos o tres horas casi todos los días en preparar algo de cada clase, muchas veces después de llegar del trabajo, en horarios nocturnos, de 10 pm a 1 am es el tiempo que tengo para dedicar a este proyecto. Sin embargo, le soy sincero y de todo corazón le digo que si tuviese más tiempo, este proyecto fluiría más rápido, pero no puedo dar mas esfuerzo, si pudiese lo daría, para que ustedes tengan material casi todas las semanas, pero muchas veces el cansancio me gana.
      Por ultimo te digo que voy a tratar de dar una clase todas las semanas, pero no le aseguro nada, voy a organizar mejor mi tiempo y así dedicar más energías a este proyecto.
      Un amigo más de Colombia, Andrés Rojas Moncada. hasta pronto.

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

      Excel Hecho Fácil Gracias por su respuesta, eso muestra una vez más su compromiso con lo que hace, le reitero mi agradecimiento por toda la información que usted nos entrega. Si usted me autoriza enviaré algunos comentarios adicionales a su correo. De todas maneras existe un material bastante extenso para estudiar, ya que solo hasta esta semana pude ver algunos de sus vídeos, que los encontré producto de buscar y buscar información sobre macros en excel. Hay bastante información, pero ...
      Su amigo
      Humberto

    • @ExcelHechoFacil
      @ExcelHechoFacil  10 лет назад

      Estimado Humberto Chinchilla Mora con gusto, mi correo esta en cada uno de los vídeos del curso, puedes enviarlos allí.
      Estaré presto a revisarlos uno por uno.
      Saludos.

  • @informenat
    @informenat 10 месяцев назад +1

    otra versión del procedimiento:
    Sub SepararNumerosDeLetras2()
    Dim Fila As Long, Columna As Long, y As Long
    Dim NumCaracter As Long, LargoCadena As Long
    Dim Caracter As String, Caracteres As String
    Dim i As Integer
    Dim Celda As Range
    Dim EsNumero As Boolean 'Permite controlar el cambio de numero a letra y a la inversa

    Set Celda = Application.InputBox(prompt:="Aquí, la celda donde inicia el recorrido", _
    Title:="Seleccione una celda", Type:=8)
    Fila = Celda.Row ' Se guarda el número de fila
    Columna = Celda.Column ' Se guarda el número de columna


    'Hasta que la celda se encuentre vacía
    Do Until Cells(Fila, Columna).Value = Empty
    Set Celda = Nothing 'Vaciamos el contenido de la variable Celda
    Set Celda = Cells(Fila, Columna) 'Le asignamos el valor de la celda
    LargoCadena = Len(Celda.Value) 'Almacenamos el número de caracteres
    y = 1
    Caracteres = ""

    For i = 1 To Len(Cells(Fila, Columna).Value)
    If IsNumeric(Mid(Cells(Fila, Columna), i, 1)) Then
    Caracter = Mid(Cells(Fila, Columna), i, 1)
    If Caracteres = "" Then Caracteres = "'"
    Caracteres = Caracteres + Caracter
    If Not IsNumeric(Mid(Cells(Fila, Columna), i + 1, 1)) And IsNumeric(Mid(Cells(Fila, Columna), i, 1)) Then
    Celda.Offset(0, y).Value = Caracteres
    Caracteres = ""
    y = y + 1
    End If
    End If

    If Not IsNumeric(Mid(Cells(Fila, Columna), i, 1)) Then
    Caracter = Mid(Cells(Fila, Columna), i, 1)
    Caracteres = Caracteres + Caracter
    If IsNumeric(Mid(Cells(Fila, Columna), i + 1, 1)) And Not IsNumeric(Mid(Cells(Fila, Columna), i, 1)) Then
    Celda.Offset(0, y).Value = Caracteres
    Caracteres = ""
    y = y + 1
    End If
    End If
    Next i
    Fila = Fila + 1
    Loop
    End Sub

  • @neo571
    @neo571 7 лет назад

    Nuevamente gracias y excelente esta enseñanza, es posible tener un curso aplicado a la Ingeniería Civil, éxitos...

  • @gildardocid1697
    @gildardocid1697 8 лет назад +1

    Muchas gracias Andrés y Diana por compartir sus conocimientos y felicitaciones por la metodología para transmitirlos. Paso a paso es como se aprende. Saludos desde México.Sub Separarletranumero2()Dim Respuesta As Integer
    Dim CeldasConCodigo As Range
    Dim Celda As Range
    Dim VectorCodigo() As Variant
    Dim CantidadCaracter As Long
    Dim i As Integer
    Dim x As Integer
    Dim y As VariantRespuesta = MsgBox("La lista de códigos debe empezar en la celda B3 de la Hoja activa." _
    & vbCrLf & " ¿así está colocada?", vbYesNo + vbCritical, _
    "Separación de código en letras y números")If Respuesta = vbNo Then Exit SubSet CeldasConCodigo = Range("B3", Range("B3").End(xlDown))For Each Celda In CeldasConCodigo CantidadCaracter = VBA.Len(Celda.Value)
    ReDim VectorCodigo(1 To CantidadCaracter)
    For i = 1 To CantidadCaracter
    VectorCodigo(i) = VBA.Mid(Celda.Value, i, 1)
    Next i
    i = 1
    y = Empty
    x = 1
    Do While i CantidadCaracter Then Exit Do
    Letra:
    Do While Not IsNumeric(VectorCodigo(i))
    y = y & VectorCodigo(i)
    i = i + 1
    If i = CantidadCaracter + 1 Then Exit Do
    Loop
    Celda.Offset(0, x).Value = y
    x = x + 1
    y = Empty
    Loop
    Erase VectorCodigoNext CeldaEnd Sub

  • @atramors9573
    @atramors9573 10 лет назад

    Excelente curso Maestro!, tengo una pregunta, el ejercicio propuesto para esta clase, fue un poco difícil de entender, pero estudiándolo varias veces, pude ver que su ejecución fue sencilla y elaborada a la vez, cumpliendo con todos los requisitos para su solución. ¿Como haces eso?. ¿Me podrías dar algunos tips para solucionar problemas complejos como este con soluciones simples y sencillas como lo acabas de hacer en este vídeo?. Muchísimas gracias por tu respuesta.
    Cordial Saludo

    • @ExcelHechoFacil
      @ExcelHechoFacil  10 лет назад +4

      Hola Atra Mors , primero que todo te agradezco por comentar.
      Un saludo, desde Colombia.
      Te respondo diciendo que la manera en como hago para estructurar este tipo de código es realizando previamente un buen análisis del problema, ese es mi truco, esa es mi clave.
      Sin embargo, otros tips que he aprendido con el tiempo son:
      1. Resuelve problemas con soluciones sencillas, no trates de inventar la rueda, solo úsala.
      2. Haz algoritmos en papel, de que rutas debe seguir tu proceso. Haz de esto algo sencillo, sin código, con palabras tradicionales, que entiendas, y te dejen ver varias alternativas. Al principio escribelo y verás que luego ya no tendrás que hacerlo, lo haces todo mentalmente.
      3. Escribe y prueba, si te sale a la primera no te quedes con esa única solución, plantea mejores, más eficientes, mas cortas, de manera que puedas ver la diferencia y sepas proceder en el futuro.
      4. Comenta tu código todo lo que necesites, y una vez documentado analiza lo que hiciste, estudia todo el panorama, y no un bloque corto de la solución. Debes enfocarte en lo global y no en lo individual.
      5.Se ordenado, esto te permitirá reusar código, o mejor aun, utilizar el método para llegar a una solución.
      Todo esto se logra con el tiempo, no te afanes en adquirirlo de una día para otro, será mas difícil y lo más probable que pase es que renuncies en poco tiempo. Se paciente.
      Equivoquese todo lo que quiera en la practica, mientras ensaya, nunca lo haga con trabajos de terceros, por eso depura tu código, nada es perfecto, pero debes tratar de que lo sea.
      Programa, programa y programa, entre mas escribas mejor para ti, más aprenderás, más comprenderás, sin embargo no escriba código por escribir "A lo loco", analice primero, plantee un método, pruebe si el método funciona, sino, mejorelo y úselo tanto como pueda y hágale mejoras después. Recuerda, todo es susceptible de ser mejorado, entre más comprendas y analices, mejor será tu mejora, por eso entre más experiencia tengas mejor será tu método.
      Sin afanes, sin complejos, sin limitantes, si no puedes hoy, descansa, mañana lo lograrás.
      Haz de esto un modo de ver las cosas y no una teoría más que comprender.
      Saludos estimado, y te anhelo lo mejor.

    • @atramors9573
      @atramors9573 10 лет назад

      Excel Hecho Fácil Muchas gracias Sensei, pondré en practica cada línea que escribiste. Esperaré con ansias tu próximo vídeo. Saludos!

  • @MauricioGutierrezRomero
    @MauricioGutierrezRomero 9 лет назад

    Cordial saludo, muy interesante, y también quiero que me ayudes en un tema, y es que tengo dos listbox, uno carga la lista de una base de datos que ya existe, pero esa lista de persona quiero programarle que según el perfil una capacitación, y ya está algo avanzado, lo que no he logrado conseguir es que al ingresar un nombre de un listbox al otro este se organice de forma alfabética, y el otro detalle es que me reconozca el listbox al que le estoy agregando el nombre que se programara para una capacitación si ya está en la lista que estoy cargando me reconozca en caso de que ya este para que no se me repita la misma persona en el mismo listado con la misma capacitación, esto con el fin de quien lo utilice no tenga escusa de que no se dio cuenta ya que si es automático este lo detecte y no permita ingresar la misma persona más de una vez, Gracias, me dices si requiere el archivo y me das el correo para enviarlo feliz día.

    • @ExcelHechoFacil
      @ExcelHechoFacil  9 лет назад

      Mauricio Gutierrez Déjame revisar y te comento.
      Saludos.

    • @MauricioGutierrezRomero
      @MauricioGutierrezRomero 9 лет назад

      Excel Hecho Fácil Gracias, me da alegría que hallas respondido, en caso de necesitarel archivo me das el correo y con gusto lo envío para que se más fácil hacer,
      ya que esta algo adelantado. Feliz día.

  • @MauricioGutierrezRomero
    @MauricioGutierrezRomero 10 лет назад

    Muy interesante.

    • @ExcelHechoFacil
      @ExcelHechoFacil  10 лет назад

      Mauricio Gutierrez Gracias, muy amable por su valioso comentario.
      Saludos desde Colombia.