Visual Basic para Aplicaciones - error metodo excel.worksheet

Life is soft - evento anual de software empresarial
 
Vista:

error metodo excel.worksheet

Publicado por Di Nando (3 intervenciones) el 26/05/2014 17:15:11
Tengo un programa en vb6 que transmite datos a una hoja de datos excel previamente configurada tipo factura. Abro la bd, recordset, y creo el objeto excel apliacttion, el libro y la hoja worksheets.
Luego indico en los cells la dirección de los datos...
Pues bien, me sale un error ..."no admite el método libro.worksheet"
Lo raro es que si eludo libro.worksheet y el resto del código para llenar los cells, la hoja se abre en pantalla aunque vacía.
Ayuda por favor. Excell 2007
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil

error metodo excel.worksheet

Publicado por ROBERTO (8 intervenciones) el 28/05/2014 23:04:01
Hola:

Creo que el método no es worksheet sino Worksheets

Lo mejor es que pongas tu código.

Un saludo

P.D. por cierto, no es un método sino una propiedad
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Oscar

error metodo excel.worksheet

Publicado por Oscar (14 intervenciones) el 29/05/2014 18:37:51
Prueba con algo del estilo de lo que te pongo abajo, lo he escrito de cabeza así que si escribí algo mal corrigelo (ya te avisara VB cuando lances el Debug)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Dim doc As Excel.Application
Dim fila As Integer
Dim columna As Integer
Dim ind As Integer
 
   Set doc = New Excel.Application
 
   doc.Workbooks.Open RutaArchivo & NombreArchivo
 
   With doc.Sheets(ind)
      .cells(fila, columna).value = valor
      .....
      .....
   End With
 
   doc.ActiveWorkbook.Save
   doc.ActiveWorkbook.Close
 
  Set doc = Nothing
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

error metodo excel.worksheet

Publicado por Di Nando (3 intervenciones) el 30/05/2014 16:15:52
Muchas gracias por vuestras respuestas. El método que inicialmente utilicél es el que me señalas Oscar. Corrigiendo alguna cosa al final cargo los datos , pero fuera de los rangos establecidos, es decir lo que dirigía a "C", 13 pues aparecía en C18... Un caos, incluso habia datos que no cargó en ningun lado, y estaba como sobreescrito sobre tres celdas. Probé el método Insert Into...fatal...por ultimo "Copyfromrecordset" y fué, pero a base de crear cuatro consultas diferentes. En fin rarísimo.
Si sabéis algo sobre el particular os lo agradecerìa.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Oscar

error metodo excel.worksheet

Publicado por Oscar (14 intervenciones) el 30/05/2014 18:20:55
Debería ser tan sencillo como lo que te indico antes pero el Excel puede ser muy puñetero sobre todo si las celdas tienen formatos, están combinadas, etc.

El echo de que algo que tu envías a la C13 te lo grabe en la C18 la posición se la pasas con variables o le pones tu las casillas fijas por código, es desde VB o desde VBA ? SI pegas el trozo de código que te falla quizás sería más fácil ayudarte
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

error metodo excel.worksheet

Publicado por Di Nando (3 intervenciones) el 31/05/2014 10:52:52
Ahi te va el código en un boton de vb6
Como verás aunque declaro el objeto Libro como Sheets no lo utilizo porque me daba error. Sigue dando error

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
Call AbreCost 'abre bd
Dim RsEXC As ADODB.Recordset
Dim Consult As String
Dim Excell As Object
Dim Folla As Object
Dim Libro As Object
Consult = "Z:\2012-001  AIRPORT\4 FINANCIAL PLANNING\42 SUPPLIERS\MODELO FACTURA1.xlsx"
Set RsEXC = New ADODB.Recordset
 
Set Excell = CreateObject("Excel.application")
Excell.Workbooks.Open (Consult), False, False
Set Libro = Excel.Workbooks.Application
Set Folla = Libro.Worksheets("1. Contract")
 
'Set RsName = New ADODB.Recordset
'RsName.Open "select Distinct Subname From ConsBQ where ContRef = '" & DataCombo1.Text & "' and  SubName = '" & SubCon & "' and CompRef = '" & DataCombo6.Text & "'", ConnCost, adOpenDynamic
With Excell
.'Application.Libro.Activate    'daba error y lo anule con comilla
.Worksheets("1. CONTRACT").Activate
End With
RsEXC.Open "select Subname,Contworks From ConsBQ where ContRef = '" & DataCombo1.Text & "' and  SubName = '" & SubCon & "' and CompRef = '" & DataCombo6.Text & "'", ConnCost, adOpenDynamic
RsEXC.MoveLast
RsEXC.MoveFirst
ActiveSheet.Range("C7").Select
Sheets("1. CONTRACT").Cells("C7").Value = RsEXC("Subname")  'AQUI TAMBIEN DA ERROR DICIENDO QUE NO ADMITE ESTE METODO
 
ActiveSheet.Range("C8").Select
Sheets("1. CONTRACT").Cells("C8").Value = RsEXC("Contworks")
Excell.ActiveWorkbook.Save
Excell.Application.Quit
Set Excell = Nothing
Set RsEXC = Nothing
 
End Sub
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar