Definitivamente ahora es más claro, pero ahora tengo que saber en qué fila estás agregando datos con el "MsgBox", supongo que debe ser con un InputBox, porque con el MsgBox no se pueden agregar datos. Si estoy en lo correcto, supongo que primero localizas la fila y empiezas a agregar los datos, entonces la fila es la de la celda activa.
También puedo observar que en la hoja1 capturas una fecha, pero no pusiste un ejemplo, cómo pones la fecha, por ejemplo pones 26-¿Dic-2014? O pones dic-14, ¿lo qué pones es una fecha o un texto?
Ahora en la hoja3 tienes esto: nov-14, dic-14, no sé si es una fecha o un texto, si es una fecha y en el formato de la celda solamente tienes mes-año, entonces qué tienes por fecha, 1-dic-2014, para realizar a búsqueda esto es necesario.
Suponiendo que si tienes fechas, y que la celda activa es la que quieres buscar, pon la siguiente macro después de tu último InputBox.
Sub PonerP()
'Por.Dante Amor
f = ActiveCell.Row
nom = Cells(f, "A")
fec = DateSerial(Year(Cells(f, "B")), Month(Cells(f, "B")), 1)
Set h = Sheets("Hoja3")
Set b = h.Columns("A").Find(nom, LookAt:=xlPart)
If Not b Is Nothing Then
fila = b.Row
Set c = h.Rows(1).Find(fec)
If Not c Is Nothing Then
h.Cells(fila, c.Column) = "P"
MsgBox "Pago actualizado", vbInformation, "PonerP"
Else
MsgBox "No se encontró el periodo", vbExclamation, "PonerP"
End If
Else
MsgBox "No se encontró el nombre", vbCritical, "PonerP"
End If
End Sub
Si los datos son diferentes a lo que estoy suponiendo, podrías explicarme cómo los tienes. O envíame tu archivo con la macro y le adapto mi macro.
Mi correo [email protected]
En el asunto del correo escribe tu nombre de usuario y el título de esta pregunta.
Avísame en esta pregunta cuando me lo hayas enviado.