03/01/14
Cómo r ecor r er una li sta de datos en una hoj a de cál culo medi ante el uso de macr os os en Excel
A ds by V iewP asswo rd
Al usa usarr est estee si sitio Ud. ac acepta el el uso uso de co cookie iess pa para análilisi sis, s, contenido pe pers rso onalilizzado y public icid idaad.
A d O ptions
Sab Sa ber má más
Cómo recorrer recorr er una lista de datos en una hoja hoja de cálculo mediante el uso de macros en Excel Aviso importante importante para los los usuarios de de Of fice 2003: si desea seguir recibiendo actualizacion es de seguridad para Office,
asegúrese de que está ejecutando Office 2003 Service Service Pac k 3 (SP3). (SP3) . El soporte para Office 2003 finaliza el 8 de abril de 2014. 2014. Si ejecuta Offic e 2003 2003 después de esta fecha, para asegurarse de recibir todas las actualizaciones las actualizaciones de seguridad importantes para Office tendrá que que actualizar a una versión posterior, como Office 365 o Office 2013. Para obtener más información, consulte El soporte está finalizando para Offic e 2003 2003. Id. de artículo: 299036 - Ver los productos a los que se aplica este artículo
Resumen Res umen Cuando escribe una macro macro de de Microsoft Visual Basic para Basic para Aplicaciones (VBA), quizás tenga que recorrer una lista de datos en una hoja de cálculo. Hay varios métodos para realizar esta tarea. La sección "Más información" de este artículo contiene información acerca de los métodos que puede utilizar para buscar en los tipos siguientes siguiente s de listas: Una lista lista que que contiene un número conocido constante de filas. Una lista dinámica, o una lista con un número desconocido de filas. Una lista que contiene un registro concreto.
Más información Microsoft proporciona ejemplos de programación solamente como ilustración, sin ninguna garantía ya sea expresa o implícita. Esto incluye, entre otras, las garantías implícitas de comerciabilidad e idoneidad para un fin determinado. En este artículo se da por supuesto que ya conoce el lenguaje de programación que se muestra, así como las herramient herramientas as empleadas para crear y depurar pr ocedimi ocedimientos. entos. Los ingenieros ingenieros de sopo rte técnico técnico de Microsoft pueden Microsoft pueden explicarle la funcionalidad de un determinado procedimiento, pero no modificarán estos ejemplos para ofrecer mayor funcionalidad ni crearán procedimientos adaptados a sus necesidades específicas. En los ejemplos de código siguientes se supone que la lista tiene una fila de encabezado que empieza en la celda A1 y datos que empiezan en la celda A2.
Para buscar una lista con un número constante conocido de filas Este código desplaza hacia abajo la columna A hasta el final de la lista: Sub Test1() Dim x As Integer ' Establecer numrows = número de filas de datos. NumRows = Range("A2", Range("A2").End(xldown)).Rows.Count ' Seleccionar celda a1. Range("A2").Select ' Establecer valor "For" para que vaya de bucle el bucle durante "numrows" veces. For x = 1 To NumRows ' Inserte el código aquí. ' Selecciona la celda 1 fila por debajo de la celda activa. ActiveCell.Offset(1, 0).Select Next End Sub
Para buscar una lista dinámica o una lista con un número desconocido de filas Este código desplaza hacia abajo la columna A hasta el final de la lista. (En este código se supone que cada celda de la columna A contiene una entrada hasta el final). Sub Test2() ' Seleccionar celda A2, *primera línea de datos*. Range("A2").Select ' Configurar el bucle Do para que se detenga al llegar a una celda vacía. Do Until IsEmpty(ActiveCell) ' Inserte el código aquí. ' Bajar 1 fila de la ubicación actual. ActiveCell.Offset(1, 0).Select Loop End Sub
Nota: si hay celdas vacías en la columna A en los datos, modifique este código para tener en cuenta esta condición. Asegúrese de que las celdas vacías estén
separadas una distancia constante. Por ejemplo, si una de cada dos celdas de la columna A está vacía (por ejemplo, esta situación puede producirse si cada 'registro' utiliza dos filas, estando la segunda fila sangrada una celda), este bucle se puede modificar de la manera siguiente: ' Configurar el bucle Do para que se detenga cuando se alcancen dos celdas consecutivas vacías. Do Until IsEmpty(ActiveCell) and IsEmpty(ActiveCell.Offset(1, 0)) ' Inserte el código aquí. ' ' Bajar 2 filas de la ubicación actual. ActiveCell.Offset(2, 0).Select Loop
Para buscar en una lista un registro concreto suppor t.mi cr osoft.com/kb/299036/es
1/2
Este código desplaza hacia abajo la columna A hasta el final de la lista: Sub Test3() Dim x As String Dim found As Boolean ' Seleccionar primera línea de datos. Range("A2").Select ' Establecer un valor de búsqueda variable. x = "test" ' Establecer la variable booleana "found" en false. found = False ' Configurar el bucle Do para que se detenga al llegar a una celda vacía. Do Until IsEmpty(ActiveCell) ' Buscar valor de búsqueda en celda activa. If ActiveCell.Value = x Then found = TRUE Exit Do End If ' Bajar 1 fila de la ubicación actual. ActiveCell.Offset(1, 0).Select Loop ' Buscar el valor found. If found = True Then Msgbox "Valor encontrado en la celda " & ActiveCell.Address Else Msgbox "Valor no encontrado" End If End Sub
Nota: es un artículo de "PUBLICACIÓN RÁPIDA" creado directamente por la organización de soporte técnico de Microsoft. La información aquí contenida se
proporciona como está, como respuesta a problemas que han surgido. Como consecuencia de la rapidez con la que lo hemos puesto disponible, los materiales podrían incluir errores tipográficos y pueden ser revisados en cualquier momento sin previo aviso. Vea las Condiciones de uso (http://go.microsoft.com/fwlink/? LinkId=151500) para otras consideraciones 属性
Id. de artículo: 299036 - Última revisión: martes, 02 de julio de 2013 - Versión: 1.0 La información de este artículo se refiere a:
Microsoft Office Excel 2007 Microsoft Excel 2002 Standard Editio n Microsoft Excel 2000 Standard Editio n Microsoft Excel 97 Standard Edition Microsoft Office Excel 2003 Microsoft Excel 2010 Palabras clave:
kbhowto kbprogramming KB299036
A ds by V iewP asswo rd
A d O ptions