Forums Últimos mensajes - Powered by IBM
 

Insertar valores en una fila +1 en Excel.

22/03/2005 - 21:07 por Javier | Informe spam
Hola a Todos

Deseo insertar ciertos valores para la (última +1) fila de datos, para una
planilla Excel. He creado este código.

dim mobjExcel As Object
Dim objHojaExcel As Object
dim RowsCount as Integer

Try
mobjExcel = CreateObject("Excel.Application")
mobjExcel.Workbooks.Open(mstrFileName)
objHojaExcel = mobjExcel.Worksheets(1)

With objHojaExcel
.Activate()
.Cells(mintRow, mintCol).select()
.Range(mobjExcel.Selection,
mobjExcel.Selection.End(-4121)).Select()
RowsCount = mobjExcel.Selection.Rows.Count + 1
End With

La sintaxis ".Range(mobjExcel.Selection,
mobjExcel.Selection.End(-4121)).Select()".. se supone que selecciona la
cantidad filas existenes en la planilla pero genera un error.. (en VB 6.0
funcionaba)

Alguien me puede indicar como corregirlo, decirme si existente otra forma o
una dirección para extraer información.

Gracias por la lectura y la ayuda
Yop.
 

Leer las respuestas

#1 Carlos Durán Urenda
22/03/2005 - 22:53 | Informe spam
Hola Javier

al parecer estas utilizando el codigo que te devuelve la grabadora de
macros de excel, yo te recomendaría que mejor explores a fondo el objeto
Range de Excel, puedes obtener el CurrentRegion de una celda, digamos donde
comienza tu tabla, y a partir de ese rango puedes obtener el numero de
filas, supongamos...
Si Tienes que los encabezados de tu tabla se encuentran en el rango A10:H10
(es un ejemplo)
puedes utilizar algo como
Dim R as new Excel.Range

R=objHojaExcel.Range("A10:H10")
R=R.Offset R.CurrentRegion.Rows.Count

de esta forma R estará apuntando al rango de la nueva fila
Ademas no te mostraría tanto parpadeo en el libro de Excel

esto te lo estoy poniendo al vuelo, posiblemente tenga algun error, puedes
probarlo priero en excel, y utilizar
R.Select
para verificar que seleccione el area que es de tu interes

Saludos
Carlos Durán




"Javier" escribió en el mensaje
news:
Hola a Todos

Deseo insertar ciertos valores para la (última +1) fila de datos, para una
planilla Excel. He creado este código.

dim mobjExcel As Object
Dim objHojaExcel As Object
dim RowsCount as Integer

Try
mobjExcel = CreateObject("Excel.Application")
mobjExcel.Workbooks.Open(mstrFileName)
objHojaExcel = mobjExcel.Worksheets(1)

With objHojaExcel
.Activate()
.Cells(mintRow, mintCol).select()
.Range(mobjExcel.Selection,
mobjExcel.Selection.End(-4121)).Select()
RowsCount = mobjExcel.Selection.Rows.Count + 1
End With

La sintaxis ".Range(mobjExcel.Selection,
mobjExcel.Selection.End(-4121)).Select()".. se supone que selecciona la
cantidad filas existenes en la planilla pero genera un error.. (en VB 6.0
funcionaba)

Alguien me puede indicar como corregirlo, decirme si existente otra forma
o
una dirección para extraer información.

Gracias por la lectura y la ayuda
Yop.

Preguntas similares