Pegar contenido en celda especifica

hola a todos

quisiera que me ayuden con lo siguiente

en la pregunta anterior me dieron una solución a lo que estaba buscando

pero ahora quisiera que me ayuden con lo siguiente:

en la hoja 2 tengo una base de datos

en la columna A están nombres

en la columna B está vacío pero allí debería ir edades

entonces en la hoja 1 en la celda A1 escribo el nombre

en la celda b2 escribo un numero que seria la edad entonces al ejecutar la macro esta debería buscar el nombre en la hoja dos y pegar la edad en la columna correspondiente.

1 Respuesta

Respuesta
1

Te escribe DAM

La macro es esta:

Sub edad()
'pone edad
'Por.Dam
lin = Application.Match(Sheets("Hoja1").Range("A1"), Sheets("hoja2").Range("A:A"), 0)
If Not IsError(lin) Then
Sheets("Hoja2").Range("B" & lin) = Sheets("Hoja1").Range("B2")
Else
MsgBox "el nombre no existe"
End If
End Sub

Saludos. Dam

Si es lo que necesitas.

muchas gracias DAM

me funciona a la perfección

esta genial

muchas gracias

solo que quisiera pedir un favor mas que me olvide

resulta que al pegar la edad si ese celda de destino ya contiene un valor me salga un mensaje indicándome dato ya ingresado y si quisiera modificarlo me pida una contraseña

Te cambio la macro

Sub edad()
'pone edad
'Por.Dam
lin = Application.Match(Sheets("Hoja1").Range("A1"), Sheets("hoja2").Range("A:A"), 0)
If Not IsError(lin) Then
If Sheets("Hoja2").Range("B" & lin) <> "" Then
cont = MsgBox("Dato ya ingresado, quieres modificarlo?", vbYesNo + vbCritical, "Error")
If cont = vbYes Then
contras = InputBox(Prompt:="Ingresa la contraseña", Title:="CONTRASEÑA")
If contras = "123" Then
Sheets("Hoja2").Range("B" & lin) = Sheets("Hoja1").Range("B2")
End If
End If
End If
Else
MsgBox "el nombre no existe"
End If
End Sub

Saludos. Dam
Si es lo que necesitas.

no lo se porque no funciona

cuando ingreso un nombre que no existe si me sale el mensaje que el nombre no existe

pero si ingreso un nombre que existe no hace ninguna acción

perdón si

funciona lo único que no hace es que si la celda de destino esta vacía no pega el valor

y por favor disculpa la molestia

si ingreso una contraseña incorrecta debería salir contraseña incorrecta

porque según la macro que me envías ingreso una contraseña incorrecta y no sale nada

pero si ingreso una contraseña correcta si cambia el valor

asi que quisiera que si ingreso una contraseña correcta salga un mensaje que diga cambio con éxito

pero si ingreso una contraseña incorrecta salga contraseña incorrecta

por favor ayudame con eso

desde ante mano te agradezco mucho

Te cambio la macro

Sub edad()
'pone edad
'Por.Dam
lin = Application.Match(Sheets("Hoja1").Range("A1"), Sheets("hoja2").Range("A:A"), 0)
If Not IsError(lin) Then
If Sheets("Hoja2").Range("B" & lin) <> "" Then
cont = MsgBox("Dato ya ingresado, quieres modificarlo?", vbYesNo + vbCritical, "Error")
If cont = vbYes Then
contras = InputBox(Prompt:="Ingresa la contraseña", Title:="CONTRASEÑA")
If contras = "123" Then
Sheets("Hoja2").Range("B" & lin) = Sheets("Hoja1").Range("B2")
MsgBox "cambio con éxito"
Else
MsgBox "contraseña incorrecta"
End If
End If
Else
Sheets("Hoja2").Range("B" & lin) = Sheets("Hoja1").Range("B2")
MsgBox "cambio con éxito"
End If
Else
MsgBox "el nombre no existe"
End If
End Sub

Saludos. Dam

MuchísimaS gracias DAM

me funciona genial

todas las macros que me enviaste están bien

me ayudaron a full

no se si hora me puedes ayudar hacer otro cambio

en base al mismo ejemplo anterior

digamos lo siguiente:

en la HOJA 2 en la primera columna tengo nombres

en la segunda columna seria edades

en la tercera columna direcciones

entonces lo que quiero es que:

en la HOJA 1

al escribir en la celda A1 el nombre

y al escribir en la celda B1 edad ingrese el valor de la celda C3 a la columna de edad

pero si en la celda B1 escribo dirección entonces el dato de C3 ingresaría a la columna de dirección.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas