Saltar al contenido

Antoni

Exceler C
  • Unido

  • Última visita

Todo se publica por Antoni

  1. Abre el adjunto y pulsa sobre el botón. Vale para cualquier cantidad de filas y columnas de Sheet1. copiar color.xlsm
  2. 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.
  3. Utiliza la función CDbl() en lugar de Val().
  4. Me lo ha chivado la grabadora de macros al darle formato "Contabilidad". 😜
  5. A ver si lo he entendido. Prueba visualizar.xlsm
  6. 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
  7. Sub OcultaFilas() Rows("8:20").EntireRow.Hidden = True 'ocultar rango Selection.EntireRow.Hidden = False 'mostrar selección End Sub
  8. Prueba a ver si es esto lo que quieres. CALENDARIO PRUEBA (1).xlsm
  9. 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
  10. 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
  11. 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
  12. 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
  13. Si, cualquier fórmula que pongas en una celda puede ser replicada desde una macro.
  14. 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
  15. 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.
  16. 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
    • 79 downloads
    • Version 1.0.0
    Hola a todos: Os dejo un formulario para crear y visualizar álbumes de fotografías. Cada álbum va en una hoja. Puede haber cualquier número de álbumes. Cada álbum puede contener cualquier número de imágenes. En el formulario: Se pueden añadir múltiples imágenes a la vez. Al pulsar sobre la miniatura cambia la resolución de la imagen. El resto os lo dejo para que lo descubrais vosotros. Paz y amor.
    • 555 downloads
    • Version 1.0.0
    Es otro calendario mas a base de autoformas. Hay código en los módulos Calendario y Thisworkbook. Doble click en cualquier fecha o en una celda en blanco. No tiene misterio.
    • 167 downloads
    • Version 1.0.0
    No tiene mas misterio de lo que explica el título. Abrir el archivo, pulsar sobre la flecha azul y ver lo que ocurre en la barra de estado. La idea no se me ha ocurrido a mi, pero me hubiera gustado.
    • 86 downloads
    • Version 1.0.0
    Hola amados todos: ¿ Os acordais que siempre hemos dicho que no se puede usar el método AddItem en un Listbox/Combobox con más de 10 columnas ? Bueno, pues es falso. Analizando esta consulta Sumar 3 columnas de un listbox, me he dado cuenta que si es posible. Ver el código del adjunto. Paz y amor Mas de 10 columnas en un control ListBox con el método AddItem.xls