Jump to content

Antoni

Members
  • Content Count

    10,379
  • Joined

  • Last visited

  • Days Won

    581

Everything posted by Antoni

  1. Prueba poner esta macro en tu hoja. Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False If Target.Address Like "$C$*" Then Range("D" & Target.Row) = "" Application.EnableEvents = True End Sub
  2. Esto hace lo que pides, eso si, tendrás que adaptar los rangos y hojas a tu caso particular. Inventarios.xlsm
  3. No utilizar un ID tiene estos inconveniente, prueba así: Set busco = ActiveSheet.Range("A:A").Find(Trim(cbxActividades.Text), LookIn:=xlValues, lookat:=xlPart) Otra forma podría ser: Set busco = ActiveSheet.Range("A:A").Find(cbxActividades.Text, LookIn:=xlValues, lookat:=xlWhole)
  4. Le he echado un vistazo y esto está un poco liado. Revisa tu archivo, elimina TODAS las macros que no se usan, elimina TODOS los módulos vacíos o que no se usen y vuelve a subir el archivo.
  5. Prueba esta macro: Sub TextboxCelda() Application.ScreenUpdating = False For Each obj In ActiveSheet.OLEObjects If obj.OLEType = xlOLEControl Then ActiveSheet.Shapes(obj.Name).TopLeftCell = obj.Object.Value obj.Delete End If Next End Sub
  6. No te prometo nada, pero mañana o pasado, intentaré buscar alguna solución.
  7. Sub ImprimirSelección() Selection.PrintOut End Sub
  8. Ando un poco ocupado, en cuanto pueda lo miro. Un poco de paciencia.
  9. Te dejo un ejemplo de como yo lo veo. Calendario citas.xlsm
  10. El problema no lo tienes en ese If, lo tienes en el siguiente que entra en conflicto al cumplirse la condición de <=5. Debes asegurarte que las condiciones solo se evalúan en las celdas adecuadas. Prueba esta macro: Sub Formato_Condicional() Application.ScreenUpdating = False For Each CeldaActual In Range("B2:H" & Cells(Rows.Count, "A").End(xlUp).Row) '-- CeldaActual.HorizontalAlignment = xlCenter CeldaActual.Interior.ColorIndex = xlNone CeldaActual.Font.Color = vbBlack CeldaActual.Font.Bold = False '-- If Range("A" & CeldaActual.Row) Like "SISTÓLICA*" Then If CeldaActual.Value >= 11 And CeldaActual.Value <= 13 Then CeldaActual.Font.Color = vbRed CeldaActual.Font.Bold = True End If End If '-- If Range("A" & CeldaActual.Row) Like "DIASTÓLICA*" Then If CeldaActual.Value <= 5 Then CeldaActual.Font.Color = vbRed CeldaActual.Font.Bold = True End If End If '-- If Range("A" & CeldaActual.Row) Like "PULSACIONES*" Then If CeldaActual.Value >= 65 And CeldaActual.Value <= 80 Then CeldaActual.Font.Color = vbRed CeldaActual.Font.Bold = True End If End If '-- If Range("A" & CeldaActual.Row) Like "Semana*" Then CeldaActual.Interior.Color = vbYellow End If '-- If Range("A" & CeldaActual.Row - 1) Like "Semana*" And _ Range("A" & CeldaActual.Row) = "" Then CeldaActual.Interior.Pattern = xlGray25 End If '-- If Range("A" & CeldaActual.Row - 1) Like "PULSACIONES*" Then CeldaActual.Interior.Color = vbBlack End If '-- Next End Sub
  11. Solo puedes seleccionar un rango o activar una celda si la hoja esta seleccionada/activada. No se puede seleccionar/activar un rango/una celda/una hoja si la hoja está oculta, Hay que evitar en lo posible el uso de Select/Activate ya que ralentiza la ejecución de las macros. Sheets("Datos").Range("A1:A5").Font.Bold = True sería la forma más correcta de resaltar el contenido del rango A1:A5 de la hoja Datos con independencia de la hoja seleccionada/activada que tengas en ese momento. 🙂
  12. Prueba esta macro: Sub Limpiar() Dim Hoja As Worksheet Dim Fila As Long '-- Application.ScreenUpdating = False For Each Hoja In Sheets For Fila = 3 To Hoja.Range("A" & Rows.Count).End(xlUp).Row If Hoja.Range("A" & Fila) Like "SISTÓLICA*" Then With Hoja.Range("B" & Fila).Resize(3, 7) .Value = "" .Font.Color = vbBlack .Font.Bold = False End With End If Next Next End Sub
  13. Tienes una consulta abierta sobre un tema parecido y no has contestado a la respuesta. ☹️
  14. Abre el adjunto y pulsa sobre la flecha azul. Tablas.xlsm
  15. ¿Donde está el año?¿Que tiene que suceder al pulsar sobre el día?¿Cuando debe mostrarse el calendario? Explica un poco lo que quieres hacer, porqué existen multitud de calendarios en el foro de aportes.
  16. Mañana le echaré un vistazo, aunque no te prometo nada.
  17. El problema, casi seguro, viene porqué dudo que tengas una fecha válida en las 100.000 celdas que pretendes analizar. Sube una muestra de tu archivo y le echaré un vistazo cuando pueda.
  18. A ver, en el archivo de muestra funciona, el problema intuyo que viene al utilizar el ancho de fila para determinar el color del fondo. Te propongo otra solución basada en el texto de las celdas.. Abre el adjunto y pulsa en el botón Dar Formato. Estracto_libro (1).xlsm
  19. No se si he entendido lo que quieres. Estracto_libro.xlsm
  20. Construye un archivo con solo la hoja y unos pocos registros y pon un ejemplo de lo que quieres conseguir o sube el archivo a un servidor externo (DropBox, Mega, Google Drive,.......)
  21. Yo creo que con cambiar esto te vale: Dim tamanio As Double
×
×
  • Create New...

Important Information

Privacy Policy