hacker


Ingresar con nombre de usuario, contraseña y duración de la sesión
| Portal Hacker | Editorial | Descargas | Ezine |
Inicio Ayuda Ingresar Registrarse
08 de ſeptiembre de 2008, 10:55:44
Noticias: Participa en el batch lab de CPH
Para ver este enlace Registrate o Inicia Sesion
aqui

+  Foros pOrtal Hacker
|-+  Programacion
| |-+  Programación en general
| | |-+  Visual Basic (Moderadores: ranefi, crypto136, ziBboh, >> s E t H <<)
| | | |-+  Fila vacia en excel
0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: [1] Ir Abajo Imprimir
Autor Tema: Fila vacia en excel  (Leído 734 veces)
sirhamelef
NZ1
*
Desconectado Desconectado

Mensajes: 46

Member, pOrtal HAcker


Ver Perfil
« : 02 de Marzo de 2006, 10:52:29 »

Hola a todos estoy terminando un programita y necesito saber, como obtengo en VB6 la primer fila vacia de un archivo de excel?

Muchas gracias y no molesto mas
En línea
ranefi
Moderador Global
*****
Desconectado Desconectado

Mensajes: 1,193


SELECT * FROM guapos WHERE papito_chulo = 'ranefi'


Ver Perfil WWW
« Respuesta #1 : 02 de Marzo de 2006, 11:00:23 »

Hola sirhamelef, buena tarde. Mira, para serte sincero no te entendí, no sé qué necesitas hacer; dices que necesitas obtener la primera fila vacía de un archivo de Excel, pero no entiendo en realidad la pregunta,     ¿necesitas obtener un valor o simplemente necesitas saber cuál fila está vacía o qué?     ¿Qué es lo que necesitas hacer? Espero tu respuesta. Nos vemos.



PD: El preguntar no es molestar, tú pregúuuuuuuuuuuuuntameeeeeeeeeeee cab~, jajajaja, estás en todo tu derecho de preguntar amigo.
En línea


SELECT * FROM mejores_batos_ del_mundo WHERE id = (SELECT DISTINCT id_guapo FROM los_mas_guapos _del_mundo WHERE papito_chulo = 'ranefi')
sirhamelef
NZ1
*
Desconectado Desconectado

Mensajes: 46

Member, pOrtal HAcker


Ver Perfil
« Respuesta #2 : 02 de Marzo de 2006, 11:30:35 »

Claro, la primera fila que no tiene nada de información. Te explico para que quizas tengas una idea mejor. Voy llenando un .xls por fila, pero quiero que se comience a llenar en la primer fila que no tiene datos, entendes.. Tambien serviria un contador de filas que tienen al menos un dato, total luego le sumo uno y me da la primera fila sin info.
Yo pense hacer algo asi pero da error tal vez comparo mal:

    While (appexcel.Cells(i, 1) <> "")
           i = i + 1
    Wend

No importa que la columna sea siempre la primera eso no me jode por eso uso el i para contar la cantidad de filas con informacion.

Se que hay algo no se si es .rows.count o algo por el estilo pero no logro darme cuenta

Gracias
En línea
ranefi
Moderador Global
*****
Desconectado Desconectado

Mensajes: 1,193


SELECT * FROM guapos WHERE papito_chulo = 'ranefi'


Ver Perfil WWW
« Respuesta #3 : 02 de Marzo de 2006, 12:53:27 »

Hola. Mira, creo haber entendido ya tu pregunta, pero aún me queda una duda,     ¿al momento de encontrar una fila vacía, comienzas a llenarla con información?     ¿Tomas la fila completa o solamente la celda que se encuentra en la primer fila vacía? Te pregunto esto porque abajo pones esto:

Cita de: sirhamelef
While (appexcel.Cells(i, 1) <> "")
           i = i + 1
Wend

Pones Cells, entonces esa es mi duda,     ¿por qué no me envías un algoritmo de tu código o el código? Lo que tú prefieras. Trata de contestar a la brevedad pues en estos momentos estoy por irme a la comida y voy a regresar hasta dentro de 2 horas. Nos vemos.


PD: Por mientras     ¿por qué no intentas usar la opción de búsqueda que tiene Excel? Me refiero a la opción de búsqueda de contenido en Excel, crea una Macro y fíjate cómo es su funcionamiento y después me pláticas si te funcionó.
En línea


SELECT * FROM mejores_batos_ del_mundo WHERE id = (SELECT DISTINCT id_guapo FROM los_mas_guapos _del_mundo WHERE papito_chulo = 'ranefi')
sirhamelef
NZ1
*
Desconectado Desconectado

Mensajes: 46

Member, pOrtal HAcker


Ver Perfil
« Respuesta #4 : 03 de Marzo de 2006, 07:39:36 »

solo basta con saber si la celda de la primer fila vacia no tiene contenido, me explico, por eso uso cells. Luego si una vez que encuentre esto comienzo a llenar la fila, yo ya se de antemano, te paso al menos la funcion donde la usaria:
Private Function carga() 

    Dim cantfil As Integer
    Dim fecha As Date
    Dim ano As Integer
    Dim mes As Integer
    Dim r As Integer
    Dim i As Integer
'********Ire cargando todo******************
    i = 0
   
    cantfil = ctrlRutcap.Rec ordset.RecordC ount      'Guardo la cantidad de filas, que es la cantidad de cuotas                                               'NOTA: ctrlOns.Record set.Fields.ite m(1) accedo a los valores
   
    'While (appexcel.Cells(i, 1) <> "")
     '       i = i + 1
    'Wend
    filavacia = 2
   
    With ctrlRutcap.Rec ordset          'No es vacia la tabla, eso nunca sucede de todas formas exporta vacio
           
         appexcel.Cells(filavacia, 1) = lblOn.Caption
         appexcel.Cells(filavacia, 2) = lblRs.Caption
         appexcel.Cells(filavacia, 3) = lblSec.Caption
         appexcel.Cells(filavacia, 4) = lblMont.Captio n
         appexcel.Cells(filavacia, 5) = comTip.Text
         appexcel.Cells(filavacia, 6) = txtPor.Text
         appexcel.Cells(filavacia, 7) = txtFech.Text
         appexcel.Cells(filavacia, 8) = txtCuo.Text
         
         fecha = .Fields.Item(1).Value  'Fecha de la primer cuota
         ano = year(fecha)
         i = 8
         While (i < (12 * txtAnMos.Text))
         
            If (ano = year(appexcel.Cells(1, i).Value)) Then
                GoTo siga
            End If
            i = i + 12      'Tiene el numero de columna para empezar a llenar
        Wend
siga:
        For r = 1 To cantfil Step 1        'Va a fijarse lo que pasa con la cantidad de cuotas
            fecha = .Fields.Item(1).Value
            mes = Month(fecha)
            appexcel.Cells(filavacia, (i + mes - 1)) = .Fields.Item(2).Value
            .MoveNext
        Next r
   End With
End Function

Fijate que filavacia le puse 2, yo se que en este momento es fila esta vacia pero en un futuro no lo sabre por eso necesito esto, filavacia es una variable global entera.

Mil gracias de nuevo hermano
En línea
ranefi
Moderador Global
*****
Desconectado Desconectado

Mensajes: 1,193


SELECT * FROM guapos WHERE papito_chulo = 'ranefi'


Ver Perfil WWW
« Respuesta #5 : 03 de Marzo de 2006, 11:29:18 »

Hola sirhamelef, buena tarde. Mira, creo ya haber entendido bien tu problema y lo que deseas hacer; pero aquí entre "nos" no he tenido mucho tiempo para revisarlo como se debería, pero me escapé un poco del trabajo que me agobía y realicé un "pseudocódigo" que espero y te dé una idea de cómo puedes realizarlo, te lo muestro a continuación:

Código:

Private Function Carga()
'---------SECCIÓN 1-------------
'            .
'            .
'            .
'            .
'            .
'            .
'            .
'            .
                 Dim X As Integer


            For X = 1 To cantfil
                        While (appexcel.Cells(X, 1) <> "")
                                    X = X + 1
                        Wend
                        FilaVacia = X
'---------SECCIÓN 2-------------
'            .
'            .
'            .
'            .
'            .
'            .
'            .
'            .
'            .
            Next X
End Function


Para que no te confundas te explicaré lo que significa éste pseudocódigo; la sección 1 es la parte del código en donde declaras todas tus variables locales y en donde propongo una posible solución a tu problema:

Código:

For X = 1 To cantfil
                        While (appexcel.Cells(X, 1) <> "")
                                    X = X + 1
                        Wend
                        FilaVacia = X


Me refiero a esta parte, si notas, declaré una variable llamada X de tipo Integer, la cual tomará el valor de cantfill (variable que conoce la cantidad de filas), tomando en cuenta esto, "appexcel.Cells(X, 1)" revisará si la fila se encuentra vacía y la variable FilaVacia tomará ése valor, después seguirá todo el código (Sección 2) en donde comienzas a introducir valores en cada celda, así pues, con esto sugiero que agregues toda la sección 2 dentro de Next X (el que cierra el ciclo For). Esta podría ser una posible solución, pero si tu problema persiste no dudes en hacérmelo saber que yo con mucho gusto trataré de ayudarte. Siento darte una solución tan poco formal pero por el momento es lo más que puedo hacer debido al trabajo. Te reitero la invitación a seguir publicando tus dudas que muchos como yo están dispuestos a ofrecerte su ayuda. Nos vemos.


PD: Seguiré buscando una mejor solución a tu poblema.
En línea


SELECT * FROM mejores_batos_ del_mundo WHERE id = (SELECT DISTINCT id_guapo FROM los_mas_guapos _del_mundo WHERE papito_chulo = 'ranefi')
sirhamelef
NZ1
*
Desconectado Desconectado

Mensajes: 46

Member, pOrtal HAcker


Ver Perfil
« Respuesta #6 : 06 de Marzo de 2006, 02:39:19 »

Gracias de nuevo hermano!!!, pero ya lo habia solucionadov estaba comparando mall debia usar like para comparar los string, por el momento funciona al pelo.

    While (compCad = 0)
            ano2 = appexcel.Cells(i, 1)) 'guardo el contenido
            compCad = ano2 Like ""
            i = i + 1
    Wend
    filavacia = i + 1

Cuando compCad es 0 es que encontre una celda vacia por ende machea con la condicion y como contaba uno de menos a la i le sumo 1 y listo por el momento funciona
gracias
En línea
ranefi
Moderador Global
*****
Desconectado Desconectado

Mensajes: 1,193


SELECT * FROM guapos WHERE papito_chulo = 'ranefi'


Ver Perfil WWW
« Respuesta #7 : 06 de Marzo de 2006, 03:14:42 »

Eso me alegra mucho amigo. Espero y verte más por aquí. Au revoir.
En línea


SELECT * FROM mejores_batos_ del_mundo WHERE id = (SELECT DISTINCT id_guapo FROM los_mas_guapos _del_mundo WHERE papito_chulo = 'ranefi')
Páginas: [1] Ir Arriba Imprimir 
« anterior próximo »
Ir a:  


Ingresar con nombre de usuario, contraseña y duración de la sesión

Powered by SMF 1.1.5 | SMF © 2006-2008, Simple Machines LLC hacker

Juegos gratis - Articulos PHP - Juegos - Trucos - Letras - Juegos - Juegos Online