Saltar al contenido

Diego9019

Miembros
  • Contador de contenido

    613
  • Unido

  • Última visita

  • Days Won

    5

4Seguidores

Sobre Diego9019

  • Rango
    Miembro

Formas de contacto

  • Web http://solucionesmsexcelvba.blogspot.mx/
  • Skype accountant323

Información de perfil

  • Sexo Hombre
  • Localización: México

Configuraciones

  • Campo que utilizas como separador de argumentos ,

Visitantes recientes del perfil

806 visitas de perfil
  1. Autocompletar textbox de formulario

    Mejor sube un ejemplo de tu archivo. 1.-En que hoja y columna se tiene que extraer los datos. (Ya que desde el principio mencionaste que era en la columna C y veo que ahora en el código que modificaste estas referenciando en la columna O) 2.-En que formulario y textbox se tiene que adaptar. Saludos.
  2. Autocompletar textbox de formulario

    No te entendi. 1.- Tomando como referencia tu primer mensaje Pues practicamente es lo que hace el ejemplo que te adjunte. Basta con seleccionar en el listbox para que complete el texto en el textbox Saludos.
  3. Autocompletar textbox de formulario

    Estimado @jesus miguel no se si le atine a tu consulta pero aqui te dejo una solución, me comentas si es lo que necesitas. Private Sub ListBox1_Click() TextBox1 = ListBox1 ListBox1.Visible = False End Sub Private Sub TextBox1_Change() If TextBox1 = "" Then ListBox1.Clear ListBox1.Visible = False Exit Sub End If ListBox1.Clear ListBox1.Visible = True ultf = Hoja1.Range("C" & Rows.Count).End(xlUp).Row For Each BUSCAR In Hoja1.Range("C2:C" & ultf) If BUSCAR <> "" Then If InStr(1, BUSCAR, TextBox1.Value, vbTextCompare) > 0 Then ListBox1.AddItem BUSCAR End If End If Next BUSCAR End Sub Así mismo te adjunto el ejemplo. Saludos T_GOOGLE.xlsm
  4. 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. Diego9019

      Diego9019

      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,

  5. Buscar coincidencias de datos

    Hola @eugeniocol Te soy sincero, llevo como 15 minutos viendo tu archivo, pero la verdad no entendi nada. Por ejemplo: PSC 2 ahí pones como resultado 2 supongo que es porque dentro de la fila del rango b4:p4 existen dos 5. Pero PSC 4 ahí pones que hay 4 y no entiendo donde sacas ese dato y PSC 6 peor, porque no se donde sacas esos datos . Así como dice @Silvia Sube un archivo un poco mas clara.
  6. Imagen fija en hoja de excel

    1..- No se que versión de excel manejas, pero supongo que es parecido, tengo excel 2016: 1.1 En tu boton clic derecho en tu imagen y/o boton - Clic en "Formato de forma..."- "Tamaños y propiedades"- "Propiedades"- Seleccionar donde dice "No mover ni cambiar tamaño con celdas. No se si es lo que necesitas. Saludos.
  7. Ir a hoja según valor de celda y sumar

    @jesus miguel digamos que la columna que deseas sumar es la columna A entonces copia y pega este código: For Each CELDAS In Columns("A").SpecialCells(xlCellTypeConstants).Areas Cells(CELDAS.Row + CELDAS.Rows.Count, 1).Value = WorksheetFunction.SUM(Range(Cells(CELDAS.Row, 1), _ Cells(CELDAS.Row + CELDAS.Rows.Count - 1, 1))) Next CELDAS Saludos
  8. check box u option button

    Estimado @JDG creo que podría funcionar de la siguiente manera: Option Explicit Private Sub CheckBox1_Click() If CheckBox1.Value = False Then Range("A3") = "" If CheckBox1.Value = True Then Range("A3") = "OK" End Sub Private Sub CheckBox2_Click() If CheckBox2.Value = False Then Range("A4") = "" If CheckBox2.Value = True Then Range("A4") = "OK" End Sub Private Sub OptionButton1_Click() If OptionButton2.Value = False Then Range("A2") = "" If OptionButton1.Value = True Then Range("A1") = "OK" End Sub Private Sub OptionButton2_Click() If OptionButton1.Value = False Then Range("A1") = "" If OptionButton2.Value = True Then Range("A2") = "OK" End Sub Private Sub UserForm_Initialize() If Range("A1") > "" Then OptionButton1.Value = True If Range("A2") > "" Then OptionButton2.Value = True If Range("A3") > "" Then CheckBox1.Value = True If Range("A4") > "" Then CheckBox2.Value = True End Sub Te adjunto el archivo. Referente a este mensaje: ¡No se de que hablas!. Saludos, Libro1.xlsm
  9. Copia especial de un rango

    Aqui va otra forma: La idea esque no estes cambiando la direccion de la carpeta de manera manual, basta crear una carpeta y pegar estos dos archivos. Option Explicit Sub copiar() Application.ScreenUpdating = False Dim Ldestino As Workbook, Datoorigen As Excel.Worksheet, N_Hoja As Excel.Worksheet, rngDestino As Excel.Range Set Ldestino = Workbooks.Open(ActiveWorkbook.Path & "\Destino.xlsx") ThisWorkbook.Activate Set Datoorigen = Worksheets("Hoja1") '<== Cambia el nombre de la hoja de acuerdo al nombre de tu hoja original Set N_Hoja = Ldestino.Worksheets("Hoja1") '<== Cambia el nombre de la hoja de acuerdo al nombre de tu hoja original Const celdaDestino = "B1" Set rngDestino = N_Hoja.Range(celdaDestino) Hoja1.Range("B1:G15").Copy rngDestino.PasteSpecial Application.CutCopyMode = False Ldestino.Save Ldestino.Close MsgBox "Información copiada" End Sub Saludos @johnmpl & @maximo1 Copia.rar
  10. Te propongo algo: 1.- En tu control tendrías que crear un folio por cada registro Te adjunto un ejemplo para que lo puedas adaptar en tu archivo original Saludos, Libro1.xlsm
  11. actualizar hora en textbox

    1.- Inserta un módulo y pega este código: Option Explicit Public Actualizar As Boolean Sub Reloj() espejito.Show (False) End Sub Sub Hora() If Actualizar Then espejito.TextBox1 = Format(Now, "dddd dd/mm/yyyy hh:mm:ss") Application.OnTime Now + TimeValue("00:00:01"), "Hora" End If End Sub 2.- En un form en Private Sub UserForm_Initialize() pega este código: Actualizar = True TextBox1 = Format(Now, "dddd dd/mm/yyyy hh:mm:ss") Application.OnTime Now + TimeValue("00:00:01"), "Hora" Y por ultimo, me comentas si te funcionó o no, vale. Saludos, Copia de Nueva caja registradora-1.xlsm
  12. actualizar hora en textbox

    Estimado (a) @cabrerase Puedes intentar algo así: TextBox1 = Now Antes de ingresar los datos en la hoja pega este siguiente código: Saludos,
  13. Hola a todos. Adjunto otra posible solución Private Sub CommandButton1_Click() Application.ScreenUpdating = False Dim Ultimafilacondatos As Integer Dim Filalibre As Integer Ultimafilacondatos = Hoja1.Range("C" & Rows.Count).End(xlUp).Row Filalibre = Hoja2.Range("A" & Rows.Count).End(xlUp).Row + 1 If Filalibre < 1 Then Filalibre = 1 For FILA = 2 To Ultimafilacondatos If Hoja1.Range("C" & FILA) = Hoja1.Range("F" & FILA).Value + Hoja1.Range("G" & FILA).Value Then Hoja1.Range("A" & FILA & ":H" & FILA).Copy Hoja2.Range("A" & Filalibre).PasteSpecial xlPasteAll Application.CutCopyMode = False Filalibre = Filalibre + 1 End If Next For FILA = 2 To Ultimafilacondatos If Hoja1.Range("C" & FILA) = Hoja1.Range("F" & FILA).Value + Hoja1.Range("G" & FILA).Value Then Hoja1.Range("A" & FILA & ":H" & FILA).Delete ' = "" End If Next Application.ScreenUpdating = True End Sub Saludos Copia de TRASPASO.xlsm
  14. Colorear celdas - formato condicional

    Estimado @plinio Utiliza el formato condicional. Ya que no mencionas que celda tiene que quedar, te toca configurar de acuerdo a tu necesidad. Para verde: =SI($C$2>=120,$C$2) Para Rojo: =SI($C$2<0,$C$2) Si no es lo que pretendes realizar, sube un archivo con un ejemplo clara para que te puedan brindar el apoyo. Saludos Libro1.xlsx
  15. cambiar vlor de celda pulsando boton vb

    Estimado (a), de lo anterior ya quedó solucionado por lo que se recomienda abrir un nuevo tema de lo que necesitas y con una explicacion clara para que te puedan brindar la ayuda correcta. Saludos
×