-
Contador de contenido
11884 -
Unido
-
Última visita
-
Días con premio
909
Respuestas de la comunidad
-
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
-
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
-
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
-
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)
-
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
-
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
-
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
-
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
-
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
-
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
-
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.
-
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
-
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
-
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.
-
Antoni's post in Llenar Datos y Presionar buscar was marked as the answer
Listo.
PRUEBA - copia.xlsm
-
Antoni's post in Error de Compilación Ayuda was marked as the answer
Prueba a ver.
PRUEBA 1 (1).xlsm
-
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
-
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 -
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)"
-
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