LLevar último dato de una BD a otra hoja

Solo consultas sobre macros y código VBA Excel.

Reglas del Foro
1. Antes de hacer tu pregunta intenta con el buscador de este foro (muchas preguntas ya fueron respondidas antes!)
2. Si haces una nueva pregunta, es muy recomendable que adjuntes el ejemplo Excel para poder comprenderla mejor!
3. Realiza tu pregunta de forma clara, explicando bien cada paso de lo que haces y tendrás más probabilidad de respuesta!
Compartir en:
     

LLevar último dato de una BD a otra hoja

Notapor Juan Wilfredo » 22 May 2006 13:25

AYUDA, Amigos tengo VARIAS HOJAS y de la hoja llamada L-V-N, y de la columna B de esta hoja, deseo llevar el último dato insertado a la HOJA 1

TENGO EL SIGUIENTE Cí“DIGO PERO ME DA ERROR



Sub Nfact()

Sheets("L-V-N").Select
Range("b5").Select
Selection.End(xlDown).Select

'situa el cursor en el último dato digitado
ActiveCell.Offset(0, 0).Select

'este es el error, quiero me lleve el valor de esta celda a la hoja 1 y celda C38
'lo puse VALUE al final de la lí­nea y me error

Worksheets(1).Range("C38") = ActiveCell.Offset(0, 0).Select.Value
End Sub



POR FAVOR SI ALGUIEN ME INDICA COMO SE HACE PARA LLEVAR EL VALOR DE LA íšLTIMA CELDA.

Gracias,

JUan Wilfredo
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
Avatar de Usuario
Juan Wilfredo
Miembro Frecuente
Miembro Frecuente
 
Registrado: 05 Nov 2004 00:23

Re: LLevar último dato de una BD a otra hoja

Notapor KL » 22 May 2006 14:16

Hola Juan,
Juan Wilfredo";p="26451 escribió:de la hoja llamada L-V-N, y de la columna B de esta hoja, deseo llevar el último dato insertado a la HOJA 1


Tu codigo podria transformarse de la siguiente manera:

Código: Seleccionar todo
Sub Nfact()
    Worksheets(1).[C38] = Sheets("L-V-N").[b5].End(xlDown)
End Sub


Otra forma mas fiable es la siguiente (siempre y cuando no haya datos debajo de la BD):

Código: Seleccionar todo
Sub Nfact()
    Worksheets(1).[C38] = Sheets("L-V-N").[b65536].End(xlUp)
End Sub


Juan Wilfredo";p="26451 escribió:Sub Nfact()
Sheets("L-V-N").Select
Range("b5").Select
Selection.End(xlDown).Select
ActiveCell.Offset(0, 0).Select
Worksheets(1).Range("C38") = ActiveCell.Offset(0, 0).Select.Value
End Sub


En todo caso comentarte que en tu codigo, el error lo provoca el metodo Select que usas incorrectamente junto con la propiedad Value en la siguiente linea:

Worksheets(1).Range("C38") = ActiveCell.Offset(0, 0).Select.Value

deberia ser asi:

Worksheets(1).Range("C38") = ActiveCell.Offset(0, 0).Value

Asimismo el uso del metodo Select y de la propiedad Offset en este codigo concreto son totalmente redundantes y por tanto innecesarios.
* Te recomendamos estos productos Excel: Manual de Macros | Manual de Funciones | Nuevas Funciones | ddTraDa
KL
Miembro Frecuente
Miembro Frecuente
 
Registrado: 18 Mar 2006 13:57
Ubicación: Madrid


Compartir en:
     

  • Anuncio
Manual Excel avanzado

Volver a Macros

¿Quién está conectado?

Usuarios navegando por este Foro: lreyes, rolano, trarubu2 y 6 invitados