Saltar al contenido

Antoni

Exceler C
  • Contador de contenido

    11884
  • Unido

  • Última visita

  • Días con premio

    909

Respuestas de la comunidad

  1. Antoni's post in Error al Guardar Información de un Label was marked as the answer   
    No todos los controles tienen las mismas propiedades:
    Private Sub Guardar(sh As Worksheet, r As String, ctrl As Control) If ctrl.Visible Then Select Case TypeName(ctrl) Case "Label" sh.Range(r).Value = ctrl.Caption Case "TextBox" sh.Range(r).Value = ctrl.Value End Select End If End Sub  
  2. Antoni's post in Macro ocultar un rango indicado pero menos celdas o celda seleccionadas was marked as the answer   
    Sub OcultaFilas() Rows("8:20").EntireRow.Hidden = True 'ocultar rango Selection.EntireRow.Hidden = False 'mostrar selección End Sub  
  3. Antoni's post in Macro para definir cumpleaños. was marked as the answer   
    Te dejo una función, puedes usarla en macros y formularios o como fórmula.
    Function Edad(Identidad As String) As Variant Dim Año, Mes, Día '-- If Not IsNumeric(Identidad) Or Not Len(Identidad) = 11 Then Edad = "#Error Identidad" Exit Function End If '-- Año = CInt(Left(Identidad, 2)) If Año > Year(Date) - 2000 Then Año = Año + 1900 Else Año = Año + 2000 End If '-- Mes = CInt(Mid(Identidad, 3, 2)) Día = CInt(Mid(Identidad, 5, 2)) Edad = Year(Date) - Año '-- If Mes > Month(Date) Or _ (Mes = Month(Date) And Día > Day(Date)) Then Edad = Edad - 1 Exit Function End If End Function  
    Cumpleaños Foro.xlsm
  4. Antoni's post in ERROR 91 EN MACRO was marked as the answer   
    No encuentra el valor de la variable prod en esta instrucción: 
    Set pro_d = .Range("A5:A" & ufd).Find(prod)
  5. Antoni's post in COPIAR UNA FILA E INSERTAR Y PEGAR 500 FILAS DESPUES DEL ULTIMO DATO was marked as the answer   
    Te propongo ir creando las filas de forma automática a medida que vayas entrando información .
    Cuando selecciones una celda de la columna A vacía, si hay información en la celda de la fila anterior, las fórmulas se insertarán de forma automática.
    Abre el adjunto y selecciona la celda A50 para ver el resultado de lo que te acabo de describir.
    PRUEBA INSERTAR 500 FILAS.xlsm
  6. Antoni's post in No permitir la grabación de documentos con el mismo NUMERO was marked as the answer   
    Revisa el adjunto.
    Cargar Facturas 01.xlsm
  7. Antoni's post in Todo funciona pero hay error de compilación was marked as the answer   
    Te he modificado un poco los procedimientos de alta/modificación.
    Base de datos de alumnos2 (1).xlsm
  8. Antoni's post in BUSCAR, FILTRAR Y REFLEJAR CASOS EN LISTBOX SEGÚN SELECCIÓN EN COMBOBOX was marked as the answer   
    Otra solución más.
    PRUEBA - copia.xlsm
  9. Antoni's post in Formulas no me toman los valores de los textboxes was marked as the answer   
    Prueba este código. Sin el archivo no te puedo ajustar más.
    Private Sub btnCargaBancos_Click() 'El tipo de dato debe especificase para cada variable Dim TasaCompra As Double, TasaVenta As Double, InvBanesco As Double, InvVzla As Double Dim MontoBanesco As Double, MontoVzla As Double, TasaDiaBan As Double, TasaDiaVzla As Double Dim TasaActual As Double 'Hay que comprobar que los textbox tienen contenido numérico 'Los datos numéricos solo pueden contener números y el separador decimal, cualquier otro caracter dará error al convertir If Not IsNumeric(txtInverBanesco) Or _ Not IsNumeric(txtInverVzla) Or _ Not IsNumeric(txtTasaCompra) Or _ Not IsNumeric(txtTasaVenta) Then MsgBox "Los datos deben ser numéricos", vbCritical Exit Sub End If InvBanesco = CDbl(txtInverBanesco) InvVzla = CDbl(txtInverVzla) TasaCompra = CDbl(txtTasaCompra) TasaVenta = CDbl(txtTasaVenta) 'Los datos de los divisores no pueden ser 0 (Indeterminación matemática) If TasaCompra = 0 Or _ InvBanesco = 0 Or _ InvVzla = 0 Then MsgBox "Los datos no admiten valor cero", vbCritical Exit Sub End If MontoBanesco = (InvBanesco / TasaCompra) * (1 - 0.18 / 100) * (TasaVenta * (1 - 0.18 / 100)) MontoVzla = (InvVzla / TasaCompra) * (1 - 0.18 / 100) * (TasaVenta * (1 - 0.18 / 100)) TasaDiaBan = (MontoBanesco / InvBanesco) * (1 - 0.055) TasaDiaVzla = (MontoVzla / InvVzla) * (1 - 0.055) If TasaDiaBan < TasaDiaVzla Then TasaActual = TasaDiaBan Else TasaActual = TasaDiaVzla End If 'En VBA, los datos numéricos no admiten ser formateados, formatear directamente en las celdas, 'MontoBanesco = FormatNumber(MontoBanesco, 2, True, vbFalse) 'MontoVzla = FormatNumber(MontoVzla, 2, True, vbFalse) 'TasaActual = FormatNumber(TasaActual, 5, True, False) txtBcoBanesco = MontoBanesco txtBcoVenezuela = MontoVzla txtTasaDiaria = TasaActual End Sub  
  10. Antoni's post in Ingreso de formula por macro was marked as the answer   
    Sub FormulaDocs() Set ws = ThisWorkbook.Sheets("Conte") Set Rng = ws.Range("U17:U" & ws.Cells(ws.Rows.Count, "U").End(xlUp).Row) For Each CELL In Rng If CELL.Value <> "" Then F = CELL.Row CELL.Offset(0, -5).FormulaLocal = "=SI.ERROR(SI(ESNUMERO(HALLAR($U" & F & ";$G" & F & "));BUSCARV($V$2&V$3&$U" & F & ";INDIRECTO(""'""&Z$2&""'!""&""G3:J10"");3;FALSO););"""")" End If Next CELL End Sub  
  11. Antoni's post in Eliminar filas con tablas relacionadas was marked as the answer   
    La solución ideal sería que unificaras las tres tablas en una sola, si prefieres continuar tal como lo tienes debes eliminar las filas tabla a tabla.
    Cuando tenga un rato, miraré de darte una solución.
  12. Antoni's post in Operaciones con Fechas was marked as the answer   
    Corrijo:
    Sub TextBox8_Change() If IsDate(TextBox8) and IsDate(TextBox7) Then TextBox9 = Round(DateDiff("m", CDate(TextBox7), CDate(TextBox8)) / 12, 2) End If End Sub  
  13. Antoni's post in Líneas Horizontales en Tablas was marked as the answer   
    Utiliza Selection.ListObject.ListRows.Add (1)  en lugar de Selection.Insert Shift:=xlDown, COPYORIGIN:=xlFormatFromRightOrBelow
  14. Antoni's post in Deseleccionar los datos de un ListBox was marked as the answer   
    Es el problema de utilizar .RowSource, dicha propiedad establece un link entre los datos de la hoja y el listbox.
    Cada vez que actualizas un datos se actualizan los datos del listbox y saltan todos los eventos relacionados.
    Para evitarlo, borra la propiedad .RowSource, (Listbox1.RowSource="") antes de actualizar la hoja y vuelve a llenar la propiedad .RowSource al final (Ejemplo ListBox1.Rowsource="MiHoja!A2:M30").
    Si n o te aclaras, sube tu archivo.
  15. Antoni's post in Llenar Datos y Presionar buscar was marked as the answer   
    Listo.
    PRUEBA - copia.xlsm
  16. Antoni's post in Error de Compilación Ayuda was marked as the answer   
    Prueba a ver.
    PRUEBA 1 (1).xlsm
  17. Antoni's post in Hipervinculo en ListView was marked as the answer   
    No se prácticamente nada sobre el control listview, por lo que seguro que hay otra forma de hacerlo.
    Abre el formulario, selecciona una fila del listview y pulsa Doble-Click.
    PRUEBA 1.xlsm
  18. Antoni's post in MACRO PARA SUMAR LAS CELDAS QUE YO SELECCIONE Y PODER PEGAR EL RESULTADO EN LA QUE YO INDIQUE was marked as the answer   
    Selecciona las celdas a sumar y la celda de destino, la celda de destino debe ser la última que se seleccione, permite cualquier número de celdas y rangos.
    Sub SumarRangos() Dim Total As Double, Rangos As Variant, Celda As Range Rangos = Split(Selection.Address, ",") For x = 0 To UBound(Rangos) - 1 For Each Celda In Range(Rangos(x)) Total = Total + Celda Next Next Range(Rangos(UBound(Rangos))) = Total End Sub
  19. Antoni's post in Permitir desbordamiento en fórmulas was marked as the answer   
    Range("G5").Formula2Local = "=UNICOS(Soporte)" 'O TAMBIÉN Range("G5").Formula2 = "=UNIQUE(Soporte)"  
  20. Antoni's post in Ayuda Macro para separa info was marked as the answer   
    Abre el adjunto y pulsa sobre la flecha azul.
    help.xlsm
×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.