Jump to content

mdomfu

Members
  • Content Count

    13
  • Joined

  • Last visited

About mdomfu

  • Rank
    Member

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Vaya faena! Esperaré a más respuestas a ver... Gracias.
  2. Gracias por el código. Pero eso solo me deja borrar el contenido de la celda, no la fila entera. La idea es poder tener el aviso de que no se puede borrar el contenido de la celda a la vez que, en el caso que sea necesario, poder borrar una fila entera sin que me sale el aviso de que no se puede borrar la fila.
  3. Gracias por la solución. Pero si fuera posible por VBA o una manera de que me cambie íntegramente los datos en la propia celda, que se borre el 00:00:00.0 no que me aparezcan corregidos en una columna nueva.
  4. La hoja de datos a modificar es la que te adjunto. No puedo poner la columna con formato personalizado, ya que copio y pego tal cual de otro archivo. La hoja de datos se llama "Data". Necesito que se ejecute desde Desarrollador/Macros, no desde un botón. Libro1.xlsx
  5. Es exactamente lo que necesito, pero me da error de variable. Lo he modificado así: Option Explicit Sub CorregirFechas() Dim ufh1 As Long 'Determinamos la última fila de la columna A de la Hoja1 con datos ufh1 = Data.Range("O" & Rows.Count).End(xlUp).Row 'Cambiamos el formato desde la A2 hasta la última fila con datos de la columna A Data.Range("O2:O" & ufh1).NumberFormat = "yyyy/mm/dd" End Sub La hoja de datos se llama "Data". Necesito que se ejecute desde Desarrollador/Macros, no desde un botón. Gracias.
  6. Porque accidente es entre-comillado. Yo sería consciente de cuando lo añado. Omitamos lo del accidente, reformulo: Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target, Range("C3:G2500")) Is Nothing Then Exit Sub On Error GoTo ExitPoint Application.EnableEvents = False If Not IsDate(Target(1)) Then Application.Undo MsgBox "No se puede borrar el contenido de esta celda" _ , vbCritical, " Borrar celda" End If ExitPoint: Application.EnableEvents = True End Sub ¿Cómo hago para que Excel me permita eliminar filas teniendo el código de arriba (que evita que se borren celdas) habilitado? Gracias.
  7. Buenas tardes. Tengo una columna de fechas de nacimiento con el siguiente formato: 2000-04-19 00:00:00.0 2010-05-27 02:00:00.0 2013-07-27 02:00:00.0 1984-11-17 00:00:00.0 2013-04-06 00:00:00.0 2008-07-21 00:00:00.0 2012-05-16 02:00:00.0 Me gustaría saber cómo usar VBA para eliminar el patrón de después de la fecha " xx:xx:xx.x" (espacio incluido, si puede ser). He leído que es posible usando regex pero no tengo mucho conocimiento sobre ello. Gracias.
  8. Sí, es lógico. Lo que me gustaría es que esas celdas estuvieran protegidas contra el borrado (no me sirve proteger la hoja, a de ser vía VBA) pero que me permitiera borrar filas en caso de que se añadan por accidente. Gracias.
  9. Buenas tardes. Tengo una tabla la cual tengo las celdas protegidas con este código: Private Sub Worksheet_Change(ByVal Target As Range) If Intersect(Target, Range("C3:G2500")) Is Nothing Then Exit Sub On Error GoTo ExitPoint Application.EnableEvents = False If Not IsDate(Target(1)) Then Application.Undo MsgBox "No se puede borrar el contenido de esta celda" _ , vbCritical, " Borrar celda" End If ExitPoint: Application.EnableEvents = True End Sub El problema es que, si accidentalmente añado una fila nueva a esa tabla y luego la quiero borrar, me sigue saliendo el error. Me gustaría que cuando se borre una fila te pregunte si quieres que se borre con un MsgBox, y si le das que sí te la borre saltándose el código de arriba. Gracias.
  10. No lo entiendo. Lo acabo de revisar y sí funciona... Puede que estuviera en otra hoja con el form abierto, o ni idea... Gracias igualmente! Aprovecho el hilo para preguntarte: entiendo que la parte If Me.txtFiltro1.Value = "*" Then Exit Sub lo que hace es buscar el texto íntegro, pero no me diferencia los acentos. ¿Cómo lo hago para que me busque tanto con acentos como sin?
  11. Aquí te lo dejo Antoni. https://drive.google.com/file/d/1cIrwLXDsId2hZ9jzUZ5hkBeegZ_WZZHb/view?usp=sharing No me deja subirlo porque ocupa más de 0,1MB. Espero que así vaya bien. Gracias.
  12. Hola compañeros. Tengo el siguiente código para un formulario de búsqueda For i = 3 To Filas If LCase(Cells(i, j).Offset(0, 0).Value) & LCase(Cells(i, j).Offset(0, 2).Value) & LCase(Cells(i, j).Offset(0, 3).Value) & LCase(Cells(i, j).Offset(0, 4).Value) & LCase(Cells(i, j).Offset(0, 5).Value) Like "*" & LCase(Me.txtFiltro1.Value) & "*" Then Me.ListBox1.AddItem Cells(i, j) Me.ListBox1.List(Me.ListBox1.ListCount - 1, 1) = Cells(i, j).Offset(0, 1) Me.ListBox1.List(Me.ListBox1.ListCount - 1, 2) = Cells(i, j).Offset(0, 2) Me.ListBox1.List(Me.ListBox1.ListCount - 1, 3) = Cells(i, j).Offset(0, 3) Me.ListBox1.List(Me.ListBox1.ListCount - 1, 4) = Cells(i, j).Offset(0, 4) Me.ListBox1.List(Me.ListBox1.ListCount - 1, 5) = Cells(i, j).Offset(0, 5) Me.ListBox1.List(Me.ListBox1.ListCount - 1, 6) = Cells(i, j).Offset(0, 6) Me.ListBox1.List(Me.ListBox1.ListCount - 1, 7) = Cells(i, j).Offset(0, 7) Else End If Next i Busca en las celdas los valores, pero no tengo valores como tal, si no una fórmula tipo =SI(A13="";"";BUSCARV(A13;Data!$A$2:$S$10000;4;FALSO)) que me devuelve el valor de una base de datos de la hoja Data, y por eso al usar el buscador no me carga nada. ¿Cómo puedo hacer para que el Offset(0, 0).Value) me lea el valor de dicha fórmula y no la fórmula en sí? Gracias.
×
×
  • Create New...

Important Information

Privacy Policy


CTA Templates.png