Error de sintaxis?
Publicado por María José (14 intervenciones) el 03/05/2006 14:13:35
Desde una form de VB quiero localizar la última celda utilizada de un fichero excel que ya tengo creado. He utilizado un código de una respuesta de aquí:
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim ApExcel As Object
Dim fila
ApExcel = CreateObject("Excel.application")
' Hace que Excel se vea
ApExcel.Visible = True
'ABRIR
ApExcel.Workbooks.Open("c:\users\lista de materiales.xls")
'Poner Titulos
fila = 1
While (ApExcel.Sheets("hoja1").cells(fila, 1) <> "")
fila = fila + 1
End While 'revisa desde la fila 1 hasta la ultima fila escrita en numero de fila que te devuelve es el que le sigue a la ultima fila escrita
MsgBox("ultima fila escrita" & fila - 1) 'ultima fila escrita
MsgBox("ultima fila que sigue" & fila)
ApExcel = Nothing
End Sub
End Class
Cuando lo proceso me da el error:
Overload resolution failed because no Public '<>' can be called with these arguments:
'Public Shared Operator <>(a As String, b As String) As Boolean':
Argument matching parameter 'a' cannot convert from '__ComObject' to 'String'
Este error me da en la línea del WHILE.
Si me podéis ayudar, os lo agradeceré.
Un saludo
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim ApExcel As Object
Dim fila
ApExcel = CreateObject("Excel.application")
' Hace que Excel se vea
ApExcel.Visible = True
'ABRIR
ApExcel.Workbooks.Open("c:\users\lista de materiales.xls")
'Poner Titulos
fila = 1
While (ApExcel.Sheets("hoja1").cells(fila, 1) <> "")
fila = fila + 1
End While 'revisa desde la fila 1 hasta la ultima fila escrita en numero de fila que te devuelve es el que le sigue a la ultima fila escrita
MsgBox("ultima fila escrita" & fila - 1) 'ultima fila escrita
MsgBox("ultima fila que sigue" & fila)
ApExcel = Nothing
End Sub
End Class
Cuando lo proceso me da el error:
Overload resolution failed because no Public '<>' can be called with these arguments:
'Public Shared Operator <>(a As String, b As String) As Boolean':
Argument matching parameter 'a' cannot convert from '__ComObject' to 'String'
Este error me da en la línea del WHILE.
Si me podéis ayudar, os lo agradeceré.
Un saludo
Valora esta pregunta


0