Sustituir fila de un rango desde otra hoja

01/02/2007 - 18:48 por cbm | Informe spam
Buenas,

En la hoja 2 tengo una fila de colmna A a columna G, cuyos valores
provienen de una tabla de la hoja uno (A1:G100) , y varian en funcion
de un lista de validacion que recoge el nombre de la primera variable
(coche1, coche2, coche3...) mediante buscarv.

De esta manera, al seleccionar en la lista de validación una variable
concreta, como coche3, se muestran los datos de su fila.

Necesito un command button que cuando en esta fila de la hoja 2 el
usuario cambie un valor, me lo copie y lo pegue en su lugar en la
tabla 1, de manera que siemre este actualizada.

Imagino que será más fácil hacer que si el primer valor de la fila dos
es igual al primer valor de la tabla, se copie y pegue el trozo de
fila entero, de A a G que buscar el dato en concreto, PERO NO SE NI
POR DONDE EMPEZAR!!!

Se agradece todo tipo de ayuda,

SALUDOS
 

Leer las respuestas

#1 Ivan
01/02/2007 - 22:18 | Informe spam
hola cbm

mira a ver si te vale esto

suponiendo que en la celda A1 de la Hoja1 tienes la celda con la lista de
validacion, la fila cargada que quieres volcar en la otra hoja es "a2:g2" y
la lista original esta en la hoja2 (A1:G100)., puedes asignarle el siguiente
procedimiento a un boton, atajo de teclado, etc

Sub DevolverConCambios()
Dim celda As Range
With Whorksheets("Hoja2")
On Error Resume Next
Set celda = .Range("a2:a" & .[a65536] _
.End(xlUp).Row).Find(Worksheets("Hoja1").[a1])
Worksheets("Hoja1").Range("a2:g2").Copy celda
Set celda = Nothing
End With
End Sub

lo unico ten en cuenta que esta forma de pegar pega todo ( formatos,
formulas, etc), si no quieres que sea asi puedes cambiarlo por PasteSpecial.

asimismo, el metodo Find admite mas argumentos, que quizas te vayan bien

un saludo y hasta pronto
Ivan

Preguntas similares