Saltar al contenido

Antoni

Exceler C
  • Unido

  • Última visita

Todo se publica por Antoni

  1. ..... If Not Dir(RutaImagen) = "" Then .Fill.UserPicture RutaImagen .Visible = msoTrue End If .....
  2. Abre el adjunto y pulsa sobre el botón. Vale para cualquier cantidad de filas y columnas de Sheet1. copiar color.xlsm
  3. Function InsertQRCode(celda As Range) As String Dim QRCodeURL As String On Error Resume Next ActiveSheet.Shapes("QR").Delete QRCodeURL = "https://quickchart.io/qr?text=" & celda.Value With ActiveSheet.Pictures.Insert(QRCodeURL) .Name = "QR" .Left = 500 .Top = 25 .Width = 300 .Height = 300 End With InsertQRCode = "" End Function Adáptalo a tus necesidades.
  4. Utiliza la función CDbl() en lugar de Val().
  5. Me lo ha chivado la grabadora de macros al darle formato "Contabilidad". 😜
  6. Prueba el adjunto. MiNumerosListView.xlsm
  7. A ver si lo he entendido. Prueba visualizar.xlsm
  8. 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
  9. Sub OcultaFilas() Rows("8:20").EntireRow.Hidden = True 'ocultar rango Selection.EntireRow.Hidden = False 'mostrar selección End Sub
  10. Prueba a ver si es esto lo que quieres. CALENDARIO PRUEBA (1).xlsm
  11. 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
  12. Prueba esta macro, vale para cualquier cantidad de filas/columnas. Const Naranja As Long = 6403322 Const Morado As Long = 11423218 Const Verde As Long = 4896057 Const Rojo As Long = 6709491 '-- Sub Resaltes() Dim Sales As Range, Fcst As Range Application.ScreenUpdating = False '-- For x = 2 To Range("A" & Rows.Count).End(xlUp).Row Step 2 For y = 4 To Cells(1, Columns.Count).End(xlToLeft).Column '-- Set Fcst = Cells(x, y) Set Sales = Cells(x, y).Offset(1) '-- Sales.Interior.ColorIndex = xlNone Fcst.Interior.ColorIndex = xlNone '-- If Sales <> "" Then If Round(Sales) = 0 And Round(Fcst) > 0 Then Sales.Interior.Color = Rojo Fcst.Interior.Color = Rojo End If '-- If Round(Sales) <> 0 And Round(Sales) < Round(Fcst) Then Sales.Interior.Color = Naranja Fcst.Interior.Color = Naranja End If '-- If Round(Sales) = Round(Fcst) Then Sales.Interior.Color = Verde Fcst.Interior.Color = Verde End If '-- If Round(Sales) <> 0 And Round(Fcst) < Round(Sales) Then Sales.Interior.Color = Morado Fcst.Interior.Color = Morado End If '-- End If Next Next End Sub
  13. Otra más: Sub BORRAR_COBRADAS() Dim i As Long For i = Range("A" & Rows.Count).End(xlUp).Row To 2 Step -1 If Range("L" & i) = "COBRADA" Then Rows(i).Delete End If Next End Sub
  14. Otra forma a partir de las tablas, los nombres de las hojas, el combo bancos y el nombre de las tablas deben ser iguales. Para Foro.xlsm
  15. Sube el archivo en el que se te produce el error.
  16. Prueba el adjunto. Introduce una fecha en el textbox y pulsa <Enter> Miny_Calendario_Di_Antoni.xlsm
  17. Si, cualquier fórmula que pongas en una celda puede ser replicada desde una macro.
  18. No encuentra el valor de la variable prod en esta instrucción: Set pro_d = .Range("A5:A" & ufd).Find(prod)
  19. 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
  20. Revisa el adjunto. Cargar Facturas 01.xlsm
  21. He cambiado el nombre a los label para facilitar la programación. Spostare_Giorni_Sett_In_Un_Calendario.xlsm
  22. No se acaba de ver, solo un ejemplo: 12 hombre+12 mujeres son 24 participantes, si cada participante juega 11 partidos, 24 por 11 son 264 partidos, lo que contradice las siguientes afirmaciones. Dicho lo cual, mejor subes un archivo, por ejemplo 4 hombres y 4 mujeres, a ver si se ve más claro lo que pretendes.
  23. El calendario se calcula automáticamente a partir de la cela Q1. En Q3 hay una llamada a la UDF FirstMonthMonday. Hay 2 formatos condicionales para marcar las fechas fuera del mes. Abre el adjunto y pulsa sobre el "botón" Trova Date. Mio_Progetto_Calendar.xlsx.xlsm
    • 35 downloads
    • Version 1.0.0
    En el adjunto encontrareis un formulario con 2 ejemplos de como llenar un listbox/combobox, uno, a partir de un nombre y otro, a partir de una fórmula, ambos combinados con la propiedad RowSource. Se basan en la utilización de DESREF y CONTARA. Lamentablemente la propiedad RowSource no admite la fórmula en ingles y con la fórmula en castellano, no funciona, de ahí que he colocado la fórmula en inglés en la propiedad Tag del listbox/combobox.
    • 75 downloads
    • Version 1.0.0
    Es un calendario al uso, sin misterios. Ya sabeis de mi debilidad por los calendarios, en este caso la gracia está en el código VBA. Os recomiendo que lo reviseis y os dareis cuenta que se puede hacer click en un label sin evento individual y sin módulo de clase. Calendario mínimo.xlsm