Cita:
Iniciado por calet84
Hola amigos :
tengo una un problema que resolver al momento de importar datos desde Excel a VB 6.0 en un Grid.
todo esta bien pero me falta espeficicar el rago de celdas de una de una hoja de un libro por ejemplo
solo las celdas que comiencen en la
columna (C11:F11)
fila (C11:C30)
donde puede variar las filas como fila (C11:C37) o fila (C11:C40)
aqui esta el codigo que he desarrollado
desde vb 6.0
...
Gracias de Antemano.
Hola, creo que hay una forma mas sencilla de mostrar un rango de celdas de una hoja Excel en un control Grid de VB, y es haciendo una conexión ADO directa al Libro Excel y seleccionando el rango:
Código:
Dim cn As ADODB.Connection
Dim rs As ADODB.Recordset
Private Sub Form_Load()
Set cn = New ADODB.Connection
With cn
.Provider = "Microsoft.Jet.OLEDB.4.0"
.ConnectionString = "Data Source= " & App.Path & "/Libro1.xls;" & _
"Extended Properties=Excel 8.0;"
.CursorLocation = adUseClient
.Open
End With
End Sub
Private Sub Command1_Click()
ObtenerRango "Hoja1", "A1:C15" ' mostrar desde 1ª columna, 1ª fila hasta 3ª columna, 15ª fila'ObtenerRango "Hoja1" <-- muestra la hoja completa
End Sub
Private Sub ObtenerRango(ByVal xHoja As String, Optional xRango As String = "")
Set rs = New ADODB.Recordset
Dim sql As String
sql = "SELECT * FROM [" & xHoja & "$" & xRango & "]"
rs.Open sql, cn, adOpenDynamic, adLockOptimistic
Set DataGrid1.DataSource = rs
End Sub
Adecúa los datos marcados en rojo a los tuyos.