Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

Indicar Rango de Celdas de un Libro en Excel a VB 6.0

Estas en el tema de Indicar Rango de Celdas de un Libro en Excel a VB 6.0 en el foro de Visual Basic clásico en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 24/10/2008, 11:10
 
Fecha de Ingreso: septiembre-2008
Mensajes: 17
Antigüedad: 15 años, 7 meses
Puntos: 0
De acuerdo Indicar Rango de Celdas de un Libro en Excel a VB 6.0

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
sub llamada()
With CommonDialog1
.DialogTitle = " Seleccionar archivo Excel para cargar"
.Filter = "Archivos XLS|*.xls"
.ShowOpen
If .FileName = "" Then Exit Sub
Call Ruta(.FileName)
Me.Caption = .FileName

End With
Call Inicio
Call Caracteristicas
Call FormatearTabla
Call LlenadoDeTabla
sub End

Public Sub Ruta(ByVal Camino As String)
Sendero = Camino
End Sub

Public Sub Inicio()
Set ApliNudos = CreateObject("Excel.Application")
Set LibroNudos = ApliNudos.Workbooks.Open(Sendero)
End Sub

Public Sub Caracteristicas()
Set HojaNudos = LibroNudos.Sheets(1) ' libro
' para ver cuantas columnas estan llenas
Set RangoNudos = HojaNudos.Rows(1) ' hoja1 fila 1 columna 1
If (RangoNudos.Cells(1, 1) = "") Then
CeldaVacia = 0
Else
CeldaVacia = RangoNudos.Find("").Column
' Columnas = 6
End If
Columnas = CeldaVacia
' para ver cuantas filas estan llenas
Set RangoNudos = HojaNudos.Columns(1)
If (RangoNudos.Cells(1, 1) = "") Then
CeldaVacia = 0
Else
CeldaVacia = RangoNudos.Find("").Row
'Filas = 35
End If
Filas = CeldaVacia
Set HojaNudos = Nothing
Set RangoNudos = Nothing
End Sub

Public Sub FormatearTabla()
Dim Est As Integer
Est = 0
With frmPrepararRegistrosNotas.GridListadoAlumnos
.Cols = Columnas
.Rows = Filas
' .Visible = True
End With
End Sub

Public Sub LlenadoDeTabla()
Set HojaNudos = LibroNudos.Worksheets(1)
For i = 3 To Columnas - 1
frmPrepararRegistrosNotas.GridListadoAlumnos.Col = i
For j = 1 To Filas - 1
frmPrepararRegistrosNotas.GridListadoAlumnos.Row = j
frmPrepararRegistrosNotas.GridListadoAlumnos.Text = HojaNudos.Cells(j, i)
Next j
Next i
ApliNudos.Quit
MsgBox "Importacion Completa"
End Sub
pero consigo que me cambien el incremento en la fila

Gracias de Antemano.
  #2 (permalink)  
Antiguo 26/10/2008, 04:02
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: Indicar Rango de Celdas de un Libro en Excel a VB 6.0

Cita:
Iniciado por calet84 Ver Mensaje
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.

  #3 (permalink)  
Antiguo 27/10/2008, 08:46
 
Fecha de Ingreso: septiembre-2008
Mensajes: 17
Antigüedad: 15 años, 7 meses
Puntos: 0
De acuerdo Respuesta: Indicar Rango de Celdas de un Libro en Excel a VB 6.0

Gracias Amigo me Ayudaste Mucho lo Probe Funciona Bien
una Vez Mas Gracias Man ...!!!!
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:39.