Jump to content

DiegoLG

Members
  • Posts

    845
  • Joined

  • Last visited

  • Days Won

    8

DiegoLG last won the day on June 15 2019

DiegoLG had the most liked content!

4 Followers

About DiegoLG

  • Birthday 08/31/1990

Contact Methods

  • Website URL
    https://es-la.facebook.com/solucionesmsexcelvba/
  • Skype
    solucionesmsexcelvba@gmail.com

Profile information

  • Gender
    Hombre
  • Localización:
    México

Converted

  • Campos
    ,
  • Mi versión de Excel:
    2

Recent Profile Visitors

4,702 profile views

DiegoLG's Achievements

  1. @Weslyghost vamos a imaginar que tu dato esta en la A1 entonces escribre en la celda B1: =CONVERTIR(A1,"l","ml") Saludos, Diego.
  2. Por eso te pedí que pusieras un ejemplo cuales son los que debería de mostrar en el form aqui te especifiqué claramente. si lo que quieres es que se muestra agosto, entonces sería así: If CDate(.Cells(Lin, 4)) - FechaHoy <= 30 And .Cells(Lin, 4) > "" Then Espero haberte ayudado, saludos.
  3. Alguien le dije una vez así, y sabes que me respondió, entonces si no es complicado por que no lo haces tu. Creo que no analizaste esta parte del código. FechaHoy = Date Se supone que le estamos diciendo al código, si con la fecha de hoy es mayor o igual con la fecha que esta en la columna Fecha Venc. y es menor o igual a los 30 días, .... si cumple esta condición te va mostrar en el form. eso quiere decir que los de octubre no te va mostrar aun, hasta llegar al 01/09/2022 , es como si yo estuviera escribiendo de esta manera: If CDate(.Cells(Lin, 4)) >= "01/09/2021" And CDate(.Cells(Lin, 4)) <= "01/10/2022" Then Pero si quieres que te muestre los de octubre entonces sería así: FechaHoy = Date + 30
  4. En ese caso mejor sube nuevamente tu archivo y con un ejemplo, ponme que es lo que realmente debe de mostrar en el form. Saludos.
  5. Copia y pega de nuevo el código así: If CDate(.Cells(Lin, 4)) - FechaHoy >= 1 And CDate(.Cells(Lin, 4)) - FechaHoy <= 30 Then
  6. Buenos días amigo, aamm, si muestra, tal vez no te muestra debido a que las fechas que se encuentran capturados en la hoja, no son iguales a los 30 días, si quieres hacer la prueba captura por ejemplo 14/09/2022 y verás que si muestra, yo respete la condicionante que mencionaste en tu consulta. Si tienes dudas, te leo. Saludos, Diego
  7. Hice una copia para no usar tu hoja original, solamente fue de prueba. No es necesario crear otro form ni nada, se puede integrar en un solo form te adjunto nuevamente ya con el consumo Sistema de Matto.xlsm
  8. Me refiero a este mensaje, quiero entender que tu información es en varias hojas o no? ¿O por que tendrías que añadir mas Form? se supone que si la información esta en una sola hoja, no deberías de añadir mas form, ni hojas
  9. Pregunta, vas a crear un concentrado hoja por hoja? si es así, te sugiero que tengas un concentrado general pero en una sola hoja.
  10. Que tal @pinoji Estuve analizando tu información, yo en lo particular, yo no haría mediante un Msgbox este tipo de alertas, Te Doy mi propuesta, solo es cuestion de que lo adaptes en tu proyecto. y referente a tu punto numero dos, de igual manera utilizaría un form para enlistar el consumo en exceso Un saludo, Sistema de Matto Autos (Autoguardado).xlsm
  11. Así es, sería con macro.. Revisa el adjunto, Saludos, Diego. Libro1.xlsm
  12. Es fácil amigo, en vez de dejar como imageMso Cámbialo por image Espero haberte ayudado, Saludos, Diego.
  13. Hola Diego,

     

    Vi tu aportación acerca de un Concatenado condicional en el cual sugerías un UDF de la sforma que adjunto, pero me gustaría saber que ajuste sugerirías para que el resultado lo pueda obtener separando por un salto de línea a cada uno de los valores que jala el concatenado. (Pensé que modificando la fórmula a  CARACTER (10) lo lograría, pero no fue así)

    De antemano muchas gracias!!

    Function ConcatenarSI(Criterios As Range, Condicion As String, Datos As Range, _
                            Optional Exacto As Boolean = False, _
                            Optional Separa As String = " ") As String
      Dim Criterio As Range, Sig As Integer, Coincide As Boolean: ConcatenarSI = ""
      For Each Criterio In Criterios: Sig = Sig + 1: Coincide = IIf(Exacto, _
        Criterio = Condicion, LCase(Criterio) = LCase(Condicion))
        If Coincide Then If Not IsEmpty(Datos.Cells(Sig)) Then ConcatenarSI = _
          ConcatenarSI & IIf(Len(ConcatenarSI), Separa, "") & Datos.Cells(Sig)
      Next
    End Function
    1. DiegoLG

      DiegoLG

      La verdad no entiendo a que te refieres con salto de linea.

      Si quieres adjunta tu archivo en el foro si no puedo ayudarte, estoy seguro que alguien mas te va ayudar.

      Saludos Amigo.

  14. Cordial saludo  Diego

     

    Solicito una ayudota.  

     

    Tengo una hoja excel para un examen con varias preguntas,  (40), cada pregunta tiene cuatro opciones de respuesta A), B), C), o D),  para ello he utilizado Option Buton (4), para cada pregunta.   Para escoger la respuesta y calificarla, y al escoger  cada OpButton  debe registrar como primera opción un "4", en una celda específica...   Me explico

    Escoge:

    OptBtn1   debe registrar "4" en la celda Z5

    OptBtn2   debe registrar "4" en la celda Z6

    OptBtn3   debe registrar "4" en la celda Z7

    OptBtn4   debe registrar "4" en la celda Z8

    Pero al digitar por "error" cualquier opción y volver a digitar la que considere mejor, debe borrar la celda anterior...

     

    Tengo  el siguiente código, pero se repite demasiado y  creo que consume muchos bytes la idea es hacer ligero  el código y rápido

     

    Private Sub OptBtn_Change()
    If OpBt1A = True Then
    Range("J86").Select
        ActiveCell.FormulaR1C1 = "4"
    Else
    Range("J86").Select
    Selection.ClearContents
    End If
        
        If OpBt1B = True Then
        Range("F87").Select
        ActiveCell.FormulaR1C1 = "4"
    Else
    Range("F87").Select
     Selection.ClearContents
    End If

        If OpBt1C = True Then
        Range("G88").Select
        ActiveCell.FormulaR1C1 = "4"
        Else
    Range("G88").Select
     Selection.ClearContents
    End If
        
        If OpBt1D = True Then
         Range("E89").Select
        ActiveCell.FormulaR1C1 = "4"
        Else
    Range("E89").Select
     Selection.ClearContents
    End If

    If OpBt2A = True Then
    Range("J92").Select
    ActiveCell.FormulaR1C1 = "4"
    Else
    Range("J92").Select
     Selection.ClearContents
    End If
        
        If OpBt2B = True Then
        Range("E93").Select
        ActiveCell.FormulaR1C1 = "4"
        Else
    Range("E93").Select
     Selection.ClearContents
    End If
        
        If OpBt2C = True Then
        Range("F94").Select
        ActiveCell.FormulaR1C1 = "4"
        Else
    Range("F94").Select
     Selection.ClearContents
    End If
        
        If OpBt2D = True Then
         Range("H95").Select
        ActiveCell.FormulaR1C1 = "4"
    Else
    Range("H95").Select
     Selection.ClearContents
    End If

    If OpBt3A = True Then
    Range("F98").Select
    ActiveCell.FormulaR1C1 = "4"
    Else
    Range("F98").Select
     Selection.ClearContents
    End If
        
        If OpBt3B = True Then
        Range("J99").Select
        ActiveCell.FormulaR1C1 = "4"
    Else
    Range("J99").Select
     Selection.ClearContents
    End If
        
        If OpBt3C = True Then
        Range("I100").Select
        ActiveCell.FormulaR1C1 = "4"
    Else
    Range("I100").Select
     Selection.ClearContents
    End If
        
        If OpBt3D = True Then
         Range("G101").Select
        ActiveCell.FormulaR1C1 = "4"
    Else
    Range("G101").Select
     Selection.ClearContents
    End If

    If OpBt4A = True Then
    Range("H104").Select
    ActiveCell.FormulaR1C1 = "4"
    Else
    Range("H104").Select
     Selection.ClearContents
    End If
        
        If OpBt4B = True Then
        Range("I105").Select
        ActiveCell.FormulaR1C1 = "4"
    Else
    Range("I105").Select
     Selection.ClearContents
    End If
        
        If OpBt4C = True Then
        Range("E106").Select
        ActiveCell.FormulaR1C1 = "4"
    Else
    Range("E106").Select
     Selection.ClearContents
    End If
        
        If OpBt4D = True Then
         Range("F107").Select
        ActiveCell.FormulaR1C1 = "4"
    Else
    Range("F107").Select
     Selection.ClearContents
    End If

    If OpBt5A = True Then
    Range("G110").Select
    ActiveCell.FormulaR1C1 = "4"
    Else
    Range("G110").Select
     Selection.ClearContents
    End If
        
        If OpBt5B = True Then
        Range("H111").Select
        ActiveCell.FormulaR1C1 = "4"
    Else
    Range("H111").Select
     Selection.ClearContents
    End If
        
        If OpBt5C = True Then
        Range("I112").Select
        ActiveCell.FormulaR1C1 = "4"
    Else
    Range("I112").Select
     Selection.ClearContents
    End If
        
        If OpBt5D = True Then
         Range("J113").Select
        ActiveCell.FormulaR1C1 = "4"
    Else
    Range("J113").Select
     Selection.ClearContents
    End If

    If OpBt6A = True Then
    Range("E116").Select
    ActiveCell.FormulaR1C1 = "4"
    Else
    Range("E116").Select
     Selection.ClearContents
    End If

        If OpBt6B = True Then
        Range("F117").Select
        ActiveCell.FormulaR1C1 = "4"
    Else
    Range("F117").Select
     Selection.ClearContents
    End If
        
        If OpBt6C = True Then
        Range("J118").Select
        ActiveCell.FormulaR1C1 = "4"
    Else
    Range("J118").Select
     Selection.ClearContents
    End If
        
        If OpBt6D = True Then
         Range("I119").Select
        ActiveCell.FormulaR1C1 = "4"
    Else
    Range("I119").Select
     Selection.ClearContents
    End If

    If OpBt7A = True Then
    Range("G122").Select
    ActiveCell.FormulaR1C1 = "4"
    Else
    Range("G122").Select
     Selection.ClearContents
    End If
        
        If OpBt7B = True Then
        Range("J123").Select
        ActiveCell.FormulaR1C1 = "4"
    Else
    Range("J123").Select
     Selection.ClearContents
    End If
        
        If OpBt7C = True Then
        Range("F124").Select
        ActiveCell.FormulaR1C1 = "4"
    Else
    Range("F124").Select
     Selection.ClearContents
    End If
        
        If OpBt7D = True Then
         Range("H125").Select
        ActiveCell.FormulaR1C1 = "4"
    Else
    Range("H125").Select
     Selection.ClearContents
    End If

    If OpBt8A = True Then
    Range("E128").Select
    ActiveCell.FormulaR1C1 = "4"
    Else
    Range("E128").Select
     Selection.ClearContents
    End If
        
        If OpBt8B = True Then
        Range("I129").Select
        ActiveCell.FormulaR1C1 = "4"
    Else
    Range("I129").Select
     Selection.ClearContents
    End If
        
        If OpBt8C = True Then
        Range("H130").Select
        ActiveCell.FormulaR1C1 = "4"
    Else
    Range("H130").Select
     Selection.ClearContents
    End If
        
        If OpBt8D = True Then
         Range("J131").Select
        ActiveCell.FormulaR1C1 = "4"
    Else
    Range("J131").Select
     Selection.ClearContents
    End If

    If OpBt9A = True Then
    Range("F134").Select
    ActiveCell.FormulaR1C1 = "4"
    Else
    Range("F134").Select
     Selection.ClearContents
    End If
        
        If OpBt9B = True Then
        Range("G135").Select
        ActiveCell.FormulaR1C1 = "4"
    Else
    Range("G135").Select
     Selection.ClearContents
    End If
        
        If OpBt9C = True Then
        Range("E136").Select
        ActiveCell.FormulaR1C1 = "4"
    Else
    Range("E136").Select
     Selection.ClearContents
    End If
        
        If OpBt9D = True Then
         Range("I137").Select
        ActiveCell.FormulaR1C1 = "4"
    Else
    Range("I137").Select
     Selection.ClearContents
    End If

    If OpBt10A = True Then
    Range("G140").Select
    ActiveCell.FormulaR1C1 = "4"
    Else
    Range("G140").Select
     Selection.ClearContents
    End If
        
        If OpBt10B = True Then
        Range("E141").Select
        ActiveCell.FormulaR1C1 = "4"
    Else
    Range("E141").Select
     Selection.ClearContents
    End If
        
        If OpBt10C = True Then
        Range("H142").Select
        ActiveCell.FormulaR1C1 = "4"
    Else
    Range("H142").Select
     Selection.ClearContents
    End If

    end sub

     

    1. DiegoLG

      DiegoLG

      Estimado:

      Apenas me conecte, ultimamente ando un poco ocupado, mas los temblores que esta pasando aqui en méxico, la verdad esta fallando mucho la red.

      sobre tu tema, puedes manejar de la siguiente manera:

      Private Sub OptionButton1_Click()
      Hoja1.Range("Z5:Z8") = ""
      If OptionButton1 = True Then Range("Z5") = 4
      End Sub
      Private Sub OptionButton2_Click()
      Hoja1.Range("Z5:Z8") = ""
      If OptionButton2 = True Then Range("Z6") = 4
      End Sub
      Private Sub OptionButton3_Click()
      Hoja1.Range("Z5:Z8") = ""
      If OptionButton3 = True Then Range("Z7") = 4
      End Sub
      Private Sub OptionButton4_Click()
      Hoja1.Range("Z5:Z8") = ""
      If OptionButton4 = True Then Range("Z8") = 4
      End Sub

      Saludos,

×
×
  • Create New...

Important Information

Privacy Policy