Excel - addtitems duda

 
Vista:

addtitems duda

Publicado por adriana (2 intervenciones) el 15/08/2007 05:46:31
Tengo una gran duda lo que pasa es que tengo una hoja en excel y necesito mostrar tal y cual como estan los datos en una listview ya encontre el sgte codigo:
************************************************************************************
Range("a1").Select

Do While ActiveCell <> Empty
ActiveCell.Offset(1, 0).Select

ListBox1.AddItem ActiveCell

Loop
**************************************************************************************
pero eso me muestra los datos de una fila , obviamente se que para que me muestre lo de una columna solo tengo que cambiar el 0 por el 1 en esta parte del codigo ActiveCell.Offset(1, 0).Select y a su vez el uno por 0, pero comohago si quiero que se vaya moviendo tanto en filas como en columnas

ej para hacerme entender:

en excel tengo los campos:

NOMBRE EDAD SEXO
juan 20 masculino
pedro 30 masculino

en la listview me tiene que mostrar:

juan 20 masculio
pedro 30 masculino


¿Cómo hago? porfa el que sepa ayudeme!!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:addtitems duda

Publicado por Edgardo Mejía (35 intervenciones) el 15/08/2007 15:16:09
Viendo tú ejemplo he llegado a la conclusión dfe que tienes que implementar un doble ciclo, es decir un ciclo para las columnas y otro para las filas, si el numero maximo de columnas es tres entonces solo valida que tú ciclo de columnas sea
menor que 4 para que tome las tres columnas, dentro del ciclo anterior tendras que anidar el ciclo de las filas, pero para que el ciclo funcione deberás de saber cuantas filas hay, si las filas son variables, es decir como pueden ser 8 pero talvez agregue mas y despues sean 15; para resolver lo anterior primero debes encontrar la ùltima fila disponible para ello tendras que hacer una busqueda en la cual chuecaras que la propiedad Value de una casilla en especifico sea diferente de Empty, por ejemplo:

'Función para obtener la fila vacia donde insertaremos los nuevos registros
Public Function Obtener_urenSOD() As Integer
Workbooks("SALES ORDERS DOORS.xls").Worksheets("31 JUL").Activate
Dim ren As Integer
ren = 8
Dim col As Integer
col = 1
Dim val As String
Dim rentot As Integer
rentot = 8
Do
If ren > 8 Then
rentot = rentot + 1
End If
val = Cells(ren, col).Value
ren = ren + 1
Loop While val <> Empty
'MsgBox "El último renglon es: " & rentot - 1
Obtener_urenSOD = rentot
End Function

para hacer la busqueda puedes basarte en el codigo anterior, haciendole algunas adecuaciones a tus necesidades claro esta.

la variable "ren" sirve para saber el renglon actual en mi caso inicio en el la fila 8,
la variable "col" es para saber en que columna hara la busqueda, la variable "val"
para almacenar el valor de la celda leída, misma que será nuestra condición para saber si el ciclo continua o termina, si el valor es diferente de Empty (Si el valor es nulo) el ciclo terminara en caso contrario el ciclo seguira hasta encontrar una celda vacia; y por último tenemos a la variable "rentot" misma que guardará el valor del de la fila que este vacia.

Despues de esto solo tendras que implementar el doble ciclo anidado que te mencionaba arriba, es como si trabajaras con matrices, algo parecido.

Espero te sea de ayuda mi aportación.


Atte: Edgardo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Edgardo pero tengo otra duda

Publicado por Adriana Orozco Quintero (2 intervenciones) el 16/08/2007 00:02:00
Lo que pasa es que luego que realizo los dos ciclos como tanto para la fila como para la columna cuando voy a insertar en la listview se que lo que se utiliza es el niombre de la lista por ej: listaEjemplo.addItems( ), entonces la duda es el orden de como inserta el additems, es decir que como coloco si primero la fila o la columna o en resumidas cuantas como debe ser la informacion que recibe ese metodo de additems
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Edgardo pero tengo otra duda

Publicado por Edgardo Mejia (35 intervenciones) el 16/08/2007 17:40:25
Mira debes poner nom_lista.addItems() tanto en el ciclo de las filas como en el ciclo de las columnas, te aconsejo que el ciclo de las columnaas vaya dentro del ciclo de las filas esto para que antes de leer otra fila, primero lea todas las columnas y como última instruccion dentro del ciclo de las columnas agrega el codigo: nom_lista.addItems() para que agregue la columna leida
despues de leer todas las columnas de la fila uno pasara a la fila dos y tambien dentro de este ciclo de las filas tendras que poner el codigo:
nom_lista.addItems() para que agregue la fila leida

Espero me haya expresado bien, pruebalo, veras que si funciona

Atte:Edgardo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Edgardo pero tengo otra duda

Publicado por Santiago (193 intervenciones) el 17/08/2007 18:45:08
Hola Adriana,
Te adjunto el archivo en este link: http://scuestam.tripod.com/Additems.xls
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar