Saltar al contenido

tuve

Miembro
  • Contador de contenido

    933
  • Unido

  • Última visita

  • Días con premio

    10

tuve ganó el día el 17 de junio 2011

tuve had the most liked content!

Sobre tuve

  • Cumpleaños 01/01/1920

tuve's Achievements

Novato

Novato (1/14)

  • 100 reacciones

Insignias recientes

190

Reputación de la comunidad

  1. Gracias por el comentario, pero sólo he aplicado una técnica conocida el uso de indice para evitar los corchetes, todo el mérido de la fórmula es de Gerson Me ha parecido interesante tu aporte a este tema, un comentario falta nuestra querida "Ñ". Buena aclaración sailepaty, no sabía que incluso en ocasiones es más lenta.
  2. La de Gerson sin corchetes: =--EXTRAE(A2; COINCIDIR(1;INDICE(--ESNUMERO(--EXTRAE(A2;FILA(INDIRECTO(1&":"&LARGO(A2)));1));;); CONTAR(INDICE(--EXTRAE(A2;FILA(INDIRECTO(1&":"&LARGO(A2)));1);))[/CODE]
  3. Encantado de tus "aburrimientos". Un saludo,
  4. En ese sentido no he tenido ningún problema, "debería" funcionar ya que la propiedad por defecto (que yo sepa) es .Value. No debería funcionar igual si la variable está declarada en el módulo de hoja, en lugar de variable public en un módulo estándar.
  5. Interesante aportación digitalboy
  6. No, gracias a ti, la macro es tuya. Sólo añadí una sugerencia a lo que comentaba Cgr1964. P.D. Acabo de comprobar que funciona igual que esto (a veces la solución más sencilla es la correcta): Private Sub Worksheet_Change(ByVal Target As Range) Application.ScreenUpdating = False On Error Resume Next Range("B4").CurrentRegion.AdvancedFilter 1, _ Range("B1").CurrentRegion Application.ScreenUpdating = True End Sub[/CODE]
  7. Es que has definido la dirección de la celda actual después de aplicar el filtro (cuando ya habías seleccionado la celda B2). Prueba esto: Private Sub Worksheet_Change(ByVal Target As Range) Dim CeldaTemp As String CeldaTemp = ActiveCell.Address Application.ScreenUpdating = False On Error Resume Next Range("B4").CurrentRegion.AdvancedFilter 1, _ Range("B1").CurrentRegion Range(CeldaTemp).Select Application.ScreenUpdating = True End Sub[/CODE]
  8. Podrías solucionarlo con algo asi: Private Sub Worksheet_Change(ByVal Target As Range) Dim CeldaTemp As String CeldaTemp = ActiveCell.Address '___Código Range(CeldaTemp).Select End Sub[/CODE]
  9. Adaptación de la macro de Antoni, manteniendo la idea principal. Extraer unicos CON macro_tuve.zip
  10. Gracias rolano y Antoni
  11. Antes de nada felicitar a Gerson Pineda-El Catracho por su gran aportación. Antoni, he adaptado tu macro, simplemente para que funcione de otra forma pero manteniendo la idea principal (que es muy buena), pero al llevar la macro a un módulo estándar me dá error, entiendo que el problema se produce por la variable N, he visto que se comporta como un ComboBox pero no consigo integrarla en el procedimiento, podrías explicar como conseguirlo, la pregunta la extiendo a cualquier miembro del foro que sepa solucionar este problema. saludos, Sub RangoUnicos() '___Adaptación "Extraer únicos" idea Macro Antonio, www.ayudaexcel.com, 05/10/10 Dim Celda As Range Dim UltimaFila As Long N.Clear For Each Celda In ActiveSheet.Range("F2:F25") 'Rango con los datos N.Text = Celda.Value If N.ListIndex = -1 Then N.AddItem Celda.Value Next '___Borro los datos existentes para mostrar la lista de valores únicos (en una sola columna) UltimaFila = ActiveSheet.Cells(Rows.Count, "J").End(xlUp).Row ActiveSheet.Range("J2:J" & UltimaFila).Value = "" '___Comienzo de entrada de datos a partir de la celda J2 ActiveSheet.Range("J2:J" & N.ListCount + 1).Value = N.List End Sub[/CODE]
  12. Algo similar, With ActiveSheet .ScrollArea = .UsedRange.Address End With[/CODE]
×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.