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).RowvarMatriz = 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 = NothingEnd Sub
Espero que os sirva! Un saludo!
Pingback: Leer Excel con visual basic (vb6) - Tutoriales y Videotutoriales en www.vertutoriales.com
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
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 😉
Sub ir_BD()
Sheets(«BD»).Select
End Sub
Sub grabar()
If Range(«D5»).Value = Empty Then
MsgBox («datos vacios»)
Exit Sub
End If
Sheets(«BD»).Select
Range(«B5»).EntireRow.Insert————-(aqui me presenta error en el metodo de insect range) solucion
Sheets(«INICIO»).Select
‘CODIGO
Range(«D5»).Copy
Sheets(«BD»).Select
Range(«C5»).PasteSpecial xlPasteValues
Sheets(«INICIO»).Select
‘FECHA DE INGRESO
Range(«G5»).Copy
Sheets(«BD»).Select
Range(«D5»).PasteSpecial xlPasteValues
Sheets(«INICIO»).Select
‘DESCRIPCION
Range(«D7»).Copy
Sheets(«BD»).Select
Range(«E5»).PasteSpecial xlPasteValues
Sheets(«INICIO»).Select
‘UBICACION
Range(«G7»).Copy
Sheets(«BD»).Select
Range(«F5»).PasteSpecial xlPasteValues
Sheets(«INICIO»).Select
‘ESPECIFICACION
Range(«D9»).Copy
Sheets(«BD»).Select
Range(«G5»).PasteSpecial xlPasteValues
Sheets(«INICIO»).Select
limpiar
End Sub
Sub limpiar()
Range(«D5»).Value = Empty
Range(«G5»).Value = Empty
Range(«D7»).Value = Empty
Range(«G7»).Value = Empty
Range(«D9»).Value = Empty
End Sub
Sub eliminar()
Sheets(«BD»).Select
Range(«B5»).EntireRow.Delete
End Sub
Revisa las comillas y demás. Este código es del año 1 DC, así que es posible que ya no funcione…