InputBox

Hola.
Buen día.
Por favor, necesito mediante un inputbox ingresar datos a una hoja de calculo llamada Obervaciones desde otra hoja llamada Datos.
El inputbox tiene un solo campo (Código) ademas de la opción aceptar y cancelar, ojala que funcione con enter.
El código que se ingrese se debe ubicar en la primer fila vacía de la oja obesrvaciones, ademas si este código esta repetido, entonces debe ser reemplzado, el rango de datos es de la fila 1 a la 300.
En la columna a se ubica el código y en la columna b la fecha de ingreso de ese código, es decir la de hoy.
Si al ingresar un código, este ya se encuentra, se debe reemplaza y junto con la fecha, para que quede la fecha de hoy.
Muchas Gracias.

1 respuesta

Respuesta
1
Algunas cosas no me quedaron del todo claras ("si un código ya se encuentra se debe reemplazar" ¿?) El rango es de 1 a 300, ¿pero si ingreso datos nuevos ya no será 300?
Te cuento lo que te envío:
Un InputBox en la hoja Datos: lo asigné al clic de un botón que dibujas con la barra Formulario. También podrías utilizar una combinación de teclas.,
Si el código existe reemplaza la fecha y envía un mensaje del cambio efectuado, si no existe agrega el código y la fecha. Todo esto lo hace en la hoja Observaciones y vuelve a Datos.
Pega la rutina un módulo y pruébala. Si algo no entendí bien me lo coment´s.
Sub Botón1_AlHacerClic()
Dim codigo As String
Dim ubicacion As String
Dim filalibre As String
Dim fila As Integer
Application.ScreenUpdating = False
codigo = InputBox("Ingrese código:", "Códigos", vbYesNo)
ubicacion = ActiveCell.Address(False, False)
If codigo <> "" Then
Sheets("observaciones").Select
filalibre = Range("A2").End(xlDown).Offset(1, 0).Row
ActiveSheet.Range("A2").Select
For fila = 2 To filalibre - 1
If Cells(fila, 1).Value = Val(codigo) Then
Cells(fila, 2).Value = Now
Sheets("Datos").Select
MsgBox ("El código ha sido reemplazado")
Exit Sub
End If
Next
Cells(filalibre, 1).Value = codigo
Cells(filalibre, 2).Value = Now
Sheets("Datos").Activate
Range(ubicacion).Select
End If
Application.ScreenUpdating = True
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas