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

excel y VB 6.0 error 381 El subindice esta fuera de intervalo

Estas en el tema de excel y VB 6.0 error 381 El subindice esta fuera de intervalo en el foro de Visual Basic clásico en Foros del Web. hola buen dia... aqui de nuevo con una duda... esta parte de codigo que pongo es parte de una funcion que agrega a una grilla ...
  #1 (permalink)  
Antiguo 16/04/2008, 16:02
 
Fecha de Ingreso: abril-2008
Mensajes: 31
Antigüedad: 16 años
Puntos: 0
Exclamación excel y VB 6.0 error 381 El subindice esta fuera de intervalo

hola buen dia...

aqui de nuevo con una duda... esta parte de codigo que pongo es parte de una funcion que agrega a una grilla una hoja de excel previamente capturada... mi duda esta en la parte que se encuentra en negritas... esa parte me truena la aplicacion y me indica un error y dice q el subindice esta fuera de intervalo... los valores que indican que columna y que fila si me los asigna correctamente pero el valor de esa celda es lo que quiero obtener

¿¿¿alguna idea de por que puede ser???... se los agradesco de antemano

contador = 0

With xLibro

' Hacemos referencia a la Hoja
With .Sheets(1)
contador = .Cells(1, 1).Value
contador1 = contador + 1
'Recorremos las celdas
For Fila = 2 To contador1
For Col = 1 To 6
'Agregamos el valor de la celda a la grilla
fil = Fila - 1
co = Col - 1
frmBitacora.MSFlexGrid1.TextMatrix(fil, co) = Cells(Fila, Col).Value
' frmBitacora es el formulario donde esta el flex grid

Next Col
Next Fila

End With
End With


frmBitacora.MSFlexGrid1.TextMatrix(fil, co) = .Cells(Fila, Col).Value

tambien lo he puesta con el punto en cells y nada help...

Última edición por LuZbA; 16/04/2008 a las 16:04 Razón: observación...
  #2 (permalink)  
Antiguo 17/04/2008, 03:17
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
Re: excel y VB 6.0 error 381 El subindice esta fuera de intervalo

Mira, inténtalo con este ejemplo comentado:

Código:
Private Sub Command1_Click()
Dim oExcel As Excel.Application
Dim xLibro As Excel.Workbook
Dim xHoja As Excel.Worksheet
Dim Columnas As Integer, Filas As Integer
Dim i As Integer, j As Integer
Screen.MousePointer = vbHourglass
    
Set oExcel = CreateObject("Excel.Application")
' Si el libro no se encuentra en el mismo directorio de la aplicación, cámbiale la ruta
Set xLibro = oExcel.Workbooks.Open(App.Path & "\Libro1.xls")
Set xHoja = xLibro.Sheets(1)
' contar las filas y columnas de la Hoja Excel
Columnas = xHoja.Rows(1).Find("").Column
Filas = xHoja.Columns(1).Find("").Row

With MsFlexGrid1
    ' asignar al Grid las mismas filas y columnas que la Hoja Excel
    .Cols = Columnas
    .Rows = Filas
    ' guardar los datos en el Grid 
   For i = 1 To Columnas - 1
        .Col = i - 1
        For j = 1 To Filas - 1
            .Row = j
            .Text = xHoja.Cells(j, i)
        Next j
    Next i
End With
Screen.MousePointer = vbDefault
' cerrar el objeto Excel
oExcel.Quit
End Sub

Claro, al hacer referencia al Grid le antepones el nombre del formulario donde se encuentre.

Un saludo
  #3 (permalink)  
Antiguo 17/04/2008, 08:55
 
Fecha de Ingreso: abril-2008
Mensajes: 31
Antigüedad: 16 años
Puntos: 0
Pregunta Re: excel y VB 6.0 error 381 El subindice esta fuera de intervalo

eit Avellaneda muchas gracias por contestarme.... la verdad ya me estaba volviendo loca... jeje... si me funciono ... pero ahora tengo otra pequeña duda...


como le puedo hacer para que al guardar en excel, todas las celdas sean de tipo string... sabes que al abrir el documento de excel me muestra los datos tal y como los almacene... osea no hay problema... pero al vaciarlos en la grilla me muestra los datos como que los tomo de otro tipo por ejemplo un campo es 13:00:05 y me muestra 0,468877314814815 ó 1,15740740740741E-05......

yo pienso que es por el tipo de dato que tiene la celda de excel.... alguna idea???...

de nuevo gracias...
  #4 (permalink)  
Antiguo 17/04/2008, 08:59
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Re: excel y VB 6.0 error 381 El subindice esta fuera de intervalo

Creo que como los datos que quieres almacenar son pocos, lo mejor es que hagas como te recomendaron en el otro tema, guardar los datos en un archivo de texto... (Hasta ahorrarías espacio en disco... y otros errores como el que mencionaste)
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 17/04/2008, 10:20
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
Re: excel y VB 6.0 error 381 El subindice esta fuera de intervalo

Hola LuZbA, mira este post aver si te resuelve el problema


http://www.forosdelweb.com/f69/como-...-6-0-a-574963/

Un saludo
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 03:39.