Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Borrar fila excel desde VB

551 views
Skip to first unread message

Fer

unread,
May 24, 2004, 7:55:47 AM5/24/04
to
Hola.
 
Necesito borrar toda una fila de un fichero Excel desde un formulario de Visual Basic y a través de SQL pero no lo consigo ...
 
Alguien sabe como hacerlo ???
 
Salu2, gracias !!!
 
 

Don Quijote de Nicaragua

unread,
May 24, 2004, 1:27:55 AM5/24/04
to
Don Quijote de Nicaragua
Acueradate de agregar la referencia siempre de Excel desde VB.
 
'Borra la columna C
    Columns("C:C").Select
    Selection.Delete Shift:=xlToLeft

'Borra la fila 5

    Rows("5:5").Select
    Selection.Delete Shift:=xlUp

Softjaen

unread,
May 24, 2004, 9:37:39 AM5/24/04
to
"Fer" escribió:

> Necesito borrar toda una fila de un fichero Excel desde un formulario
> de Visual Basic y a través de SQL pero no lo consigo ...

Hola:

Si estás utilizando el ISAM de Excel del motor Microsoft Jet, no podrás
eliminar registros, debido a que dicho ISAM no permite eliminar filas de las
hojas de cálculo ni de los libros de trabajo, por tanto, no se puede
ejecutar una consulta SQL de eliminación, aparte que me imagino que te
arrojará una descripción de error más o menos como la siguiente: Este ISAM
no admite la eliminación de datos en una tabla vinculada, o algo por el
estilo.

Si quieres conocer más a fondo el ISAM de Excel, consulta el siguiente
artículo, en concreto el punto «Limitaciones a tener en cuenta».

Trabajar con ADO, DAO y Excel
http://es.geocities.com/Softjaen/Articulos/Excel/ADO_DAO_Excel.htm

Un saludo

--
Enrique Martínez
[MS MVP - VB]

Nota informativa: La información contenida en este mensaje, así como el
código fuente incluido en el mismo, se proporciona «COMO ESTÁ», sin
garantías de ninguna clase, y no otorga derecho alguno. Usted asume
cualquier riesgo al poner en práctica, utilizar o ejecutar lo recomendado o
sugerido en el presente mensaje.

Softjaen

unread,
May 24, 2004, 9:42:12 AM5/24/04
to
Un momento, que el enlace correcto se escribe todo en minúscula:

Trabajar con ADO, DAO y Excel

http://es.geocities.com/softjaen/articulos/excel/ado_dao_excel.htm

Softjaen

unread,
May 24, 2004, 11:05:23 AM5/24/04
to
"Fer" escribió:
>
> No se exactamente que es eso de ISAM. Puedes darme una explicación
> rápida ???
>

En el artículo que te he indicado, expongo más o menos lo que es el ISAM de
Excel. En resumidas cuentas, se trata de una biblioteca (DLL) con la que el
motor de base de datos Microsoft Jet puede interactuar con otros datos
externos distintos de las bases de datos nativas de dicho motor (bases de
datos Microsoft Access). Si no fuera por dicho controlador (driver, o como
desees llamarlo), no podrías utilizar el código fuente que has adjuntado
para abrir un libro de trabajo de Excel y rellenar un conjunto de registros
con los datos de la hoja de trabajo «Despiece».

> te paso un txt en el que adjunto el código que utilizo para
> realizar una consulta. Ahora lo que quiero hacer es precisamente
> modificar este código para añadir una instrucción SQL que en
> lugar de "buscar" lo que haga es eliminar registros.
>

Te vuelvo a repetir que, salvo que alguien me demuestre lo contrario, con el
ISAM de Excel no se pueden eliminar registros de una hoja de cálculo, o al
menos, yo no sé cómo hacerlo.

Si tienes instalado Microsoft Excel en tu equipo, y si tu preocupación es
eliminar filas (registros) de la hoja, edita directamente la hoja con
Microsoft Excel y elimina las filas que consideres oportunas. Si lo quieres
hacer mediante programación, tendrás que recurrir a la biblioteca de Excel,
por lo que tendrás que hacer referencia a ella en tu proyecto de Visual
Basic. Entiendo que lo más fácil es hacer lo primero, porque no entiendo qué
sentido puede tener el abrir una hoja de cálculo mediante el ISAM de Excel
para eliminar filas de la misma. ¿?

Si por el contrario, en tu equipo, o en los equipos donde tengas previsto
distribuir tu aplicación, no tienen instalado Microsoft Excel, difícilmente
vas a poder utilizar la biblioteca de Excel en tu proyecto. Lo bueno del
ISAM de Excel es que no es necesario tener instalado Microsoft Excel para
manipular (con ciertas limitaciones) los datos contenidos en un libro de
trabajo.

Fer

unread,
May 24, 2004, 11:49:25 AM5/24/04
to
Si lo quieres hacer mediante programación, tendrás que recurrir a la
biblioteca de Excel,
por lo que tendrás que hacer referencia a ella en tu proyecto de Visual
Basic. Entiendo que lo más fácil es hacer lo primero, porque no entiendo qué
sentido puede tener el abrir una hoja de cálculo mediante el ISAM de Excel
para eliminar filas de la misma. ¿?

--> Pero puedo borrar de un golpe todas las filas en las que aparezca un
código que no empiece por "301" ??? Si puedo hacer esto me vale y el sentido
que tiene es que ir borrando una a una hasta unos 100 registros es un poco
primitivo ... no ???

salu2 !!!

"Softjaen" <grupo_n...@softjaen.es> escribió en el mensaje
news:OmOvfCaQ...@TK2MSFTNGP12.phx.gbl...

Softjaen

unread,
May 24, 2004, 12:36:51 PM5/24/04
to
"Fer" escribió:

> Pero puedo borrar de un golpe todas las filas en las que aparezca un
> código que no empiece por "301" ??? Si puedo hacer esto me vale
> y el sentido que tiene es que ir borrando una a una hasta unos 100
> registros es un poco primitivo ... no ???
>

¿Mediante la biblioteca de Excel? Lo desconozco, porque sinceramente, te
diré que nunca he tenido oportunidad de llevar a cabo tal operación mediante
automatización. Y si se me presentara, tardo menos tiempo abriendo la hoja
con Excel y borrar las filas que crea conveniente.

Podrías consultar en la ayuda de Excel el método «Find» para definir los
parámetros de la búsqueda, el método «FindNext» para continuar con la
búsqueda, el método «Select» para seleccionar un objeto «Range» y el método
«Delete» para eliminar el rango seleccionado.

0 new messages