error 1004 error en el metodo range del objeto worksheet – Vb6

Es posible que si habeis buscado una manera de leer un excel por internet, os hayais encontrado con un problema de este tipo, solo hay que darle el objeto para solucionarlo, os dejo el código para que veais el cambio:

varMatriz = xlHoja.Range(xlHoja.Cells(1, 1),  xlHoja.Cells(lngUltimaFila, 1))

Si quereis ver el código completo podeis verlo desde aquí:

Private Sub LeerExcel()

‘dimensiones
Dim xlApp As Excel.Application
Dim xlLibro As Excel.Workbook
Dim xlHoja As Excel.Worksheet
Dim varMatriz As Variant
Dim lngUltimaFila As Long

‘abrir programa Excel
Set xlApp = New Excel.Application
‘xl.Visible = True

‘abrir el archivo Excel
‘(archivo en la misma carpeta)
Set xlLibro = xlApp.Workbooks.Open(App.Path & «\prueba.xls», True, True, , «»)
Set xlHoja = xlApp.Worksheets(«Hoja1»)

‘1. Si conoces el rango a leer
‘varMatriz = xlHoja.Range(«A1:C10»).Value

‘2. Si no conoces el rango
lngUltimaFila = _
Columns(«A:A»).Range(«A65536»).End(xlUp).Row

varMatriz = xlHoja.Range(xlHoja.Cells(1, 1), _
xlHoja.Cells(lngUltimaFila, 1))

‘utilizamos los datos…
txtLlamadas.Text = varMatriz(10, 1)

‘cerramos el archivo Excel
xlLibro.Close SaveChanges:=False
xlApp.Quit

‘reset variables de los objetos
Set xlHoja = Nothing
Set xlLibro = Nothing
Set xlApp = Nothing

End Sub

Espero que os sirva! Un saludo!

Carlos Dk

Apasionado por la enseñanza y el SEO

3 comentarios en “error 1004 error en el metodo range del objeto worksheet – Vb6

  • Pingback: Leer Excel con visual basic (vb6) - Tutoriales y Videotutoriales en www.vertutoriales.com

  • el 11 abril, 2020 a las 8:35 pm
    Permalink

    Private Sub Texvalor_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)

    If KeyCode = 13 Then

    x = MsgBox(«Desea Ingresar Esta Informacion», vbYesNo, «Ingresar Datos»)

    If x = vbYes Then

    Dim base As Worksheet
    Set base = Sheets(«base»)
    If Me.Optioningreso.Value = True Then
    aqui tengo el problema : base.Range(«1000000»).End(xlUp).Offset(1, 0).Select

    ActiveCell(1, 1).Value = «Ingreso»
    ActiveCell(1, 2).Value = CDate(Me.Textfecha)
    ActiveCell(1, 3).Value = Me.Combotipo_cuenta.Text
    ActiveCell(1, 4).Value = Me.Textconcepto.Text
    ActiveCell(1, 5).Value = VBA.CCur(Me.Texvalor)
    ActiveCell(1, 7).Value = Month(Me.Textfecha)
    ActiveCell(1, 8).Value = Year(Me.Textfecha)

    Else

    base.Range(«300000»).End(xlUp).Offset(1, 0).Select

    ActiveCell(1, 1).Value = «Ingreso»
    ActiveCell(1, 2).Value = CDate(Me.Textfecha)
    ActiveCell(1, 3).Value = Me.Combotipo_cuenta.Text
    ActiveCell(1, 4).Value = Me.Textconcepto.Text
    ActiveCell(1, 6).Value = VBA.CCur(Me.Texvalor)
    ActiveCell(1, 7).Value = Month(Me.Textfecha)
    ActiveCell(1, 8).Value = Year(Me.Textfecha)

    End If

    End If

    End If

    End Sub me presenta un error en el objeto base.range…tengo window 7 me podria ayudar? muchisimas gracias

    Respuesta
    • el 12 abril, 2020 a las 9:25 pm
      Permalink

      Mira el código que se propone de ejemplo:
      1. Si conoces el rango a leer
      ‘varMatriz = xlHoja.Range(«A1:C10»).Value

      ‘2. Si no conoces el rango
      lngUltimaFila = _
      Columns(«A:A»).Range(«A65536»).End(xlUp).Row

      Quizás te arroje algo de luz 😉

      Respuesta

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.