Results 1 to 3 of 3

Cómo eliminar nombre asignado a un rango...

This is a discussion on Cómo eliminar nombre asignado a un rango... within the Questions in Other Languages forums, part of the Question Forums category; Saludo amigos del foro Disculpenme ésta, pero le di un nombre al un rango (ya saben en el cuadro a ...

  1. #1
    Board Regular
    Join Date
    Jun 2002
    Location
    Mexico
    Posts
    55

    Default Cómo eliminar nombre asignado a un rango...

    Saludo amigos del foro

    Disculpenme ésta, pero le di un nombre al un rango (ya saben en el cuadro a la izquiera de la barra de fórmulas) y ahora no sé cómo deshacerme de él...quiero eliminarlo... alguien que me oriente por favor... gracias.

  2. #2
    MrExcel MVP
    Int'l Moderator
    Greg Truby's Avatar
    Join Date
    Jun 2002
    Location
    39° 17' 15" N, -94° 40' 26" W
    Posts
    9,729

    Default

    Del menu (en inglés) Insert | Name > | Define...1 seleccione el nombre en el listado y haz un cliq en el botón de suprimir (delete).


    1También se puede usar Ctrl+F3 para abrir el diálogo de definiciones de nombres.
    Greg
    ………………………………………………
    Work: XL 2003, 2007 and 2010 on Windows 7
    Please use CODE tags - especially for longer excerpts of code.

  3. #3
    Board Regular
    Join Date
    Jun 2002
    Location
    Mexico
    Posts
    55

    Default Gracias Greg, ya pude eliminarlo.. algo más...

    Te cuento que lo definí cuando necesité revisar todas las celdas de un rango mediante un ciclo, para mover el contenido de la celda en turno a otra ubicación si cumplía una determinada condición, aquí el ejemplo que me sirvió parcialmente:

    Code:
    Dim miCelda As Object
    For Each miCelda In Range("miRango")
       If Mid(miCelda, 1, 2) = "23" Then 
          MsgBox miCelda
         'ActiveCell.Cut (ActiveCell.Offset(-1, 1).Range("A1").Select)
         'ActiveCell.Cut Destination:=ActiveCell.Offset(-1, 1)
         'Selection.Cut
         'ActiveCell.Offset(-1, 1).Range("A1").Select
         'ActiveSheet.Paste
       Else
         MsgBox "Otro valor"
       End If
    Next miCelda
    Lo que vez me permitió recorrer el rango y ver si la condicion se cumplia mediante los cuadros de texto.

    Lo que no funcionó (y que está comentariado) fué la parte de mover el contenido de la celda leída a otra ubicación y eliminar la fila vacía, marca "error de objeto" (ya no llegué ahí en este código)

    Mi idea era utilizar después Resize para ajustar el rango cada vez que se ejecutara el código...y tampoco llegué ahí..


    Una solución provisional la encontré en el siguiente código:

    Code:
    Dim ultimaFila As Integer, fila As Integer
    With ActiveWorkbook.Worksheets("Hoja1")
       ultimaFila = .[A65536].End(xlUp).Row
       For fila = 1 To ultimaFila
          celda = .Cells(fila, 1)
          If Mid(celda, 1, 2) = "23" Then
             .Cells(fila, 1).Select
             Selection.Cut
             ActiveCell.Offset(-1, 1).Range("A1").Select
             ActiveSheet.Paste
             .Cells(fila, 1).Select
             Selection.EntireRow.Delete
          End If
       Next fila
    End With
    Mismo que ya funciona.

    Resulta que me llega un archivo con más de 5,000 lineas, de las cuales la mayoría corresponden a un registro por cada dos filas. Lo que necesito es identificar la fila dos, ponerlas en la fila 1 que les corresponda y eliminar las fila que queda vacía. El código anterior me sirve para hacer eso.

    Ahora la siguiente parte es, por cada nueva fila (ahora con dos columnas), extraer parte del contenido de cada celda en cada columna, buscarlo en otra hoja (que es también un rango variable) y si lo encuentra, escribir una marca en la fila donde se encontró...

    Bueno, cualquier idea es bienvenida...

    Gracias de nuevo....

Like this thread? Share it with others

Like this thread? Share it with others

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  


DMCA.com