Quiero mejorar una macro con la que inserto información en una hoja de Microsoft Excel. ¿Me ayudas?

Tengo una macro que es capas de insertar información dentro de una hoja o archivo de excel, y resulta bastante bien. Pero el problema radica es que la quiero mejorar, la idea es la siguiente.
codigo | nombre | valor
Yo copio he inserto en otra hoja.
La idea es que busque el código y reemplace la información.
De ante mano muchas gracias.
1

1 respuesta

1
Respuesta de
Hola, ojala te sirva esta macro, claro, solo la tendrías que adaptar a tu código, estoy suponiendo el siguiente escenario:
Codigo | Nombre | Valor
1 | Uno | 100
2 | Dos | 200
3 | Tres | 300
4 | Cuatro | 400
5 | Cinco | 500
Estos datos, partiendo de la celda A1
Con la siguiente macro, te solicita un código, si lo encuentra te permite modificar los otros dos campos, si no lo encuentra, agrega el código buscado como uno nuevo...
Public Sub Buscar_Insertar()
Dim strCodigo As String
Dim strNombre As String
Dim strValor As String
Dim lngFila As Long
Dim rEncontrado As Range
strCodigo = Trim(InputBox("Introduce el código a buscar", _
"Buscar código", "1"))
If strCodigo <> "" Then
lngFila = Range("A1").CurrentRegion.Rows.Count
If lngFila > 2 Then
Set rEncontrado = Range("A1:A" & Format(Range("A1").End(xlDown).Row)).Find(strCodigo)
If rEncontrado Is Nothing Then
MsgBox "El codigo NO se encontro, se agregaran los datos"
strNombre = Trim(InputBox("Introduce el <Nombre> a agregar", _
"Agregar código"))
strValor = Trim(InputBox("Introduce el <Valor> a agregar", _
"Agregar código"))
If strNombre = "" Or strValor = "" Then
MsgBox "Falta algun valor, no se agregara ningun dato"
Else
Cells(lngFila + 1, 1).Value = strCodigo
Cells(lngFila + 1, 2).Value = strNombre
Cells(lngFila + 1, 3).Value = strValor
End If
Else
MsgBox "EL codigo se encontro, los datos se reemplazaran"
strNombre = Trim(InputBox("Introduce el <Nombre> a agregar", _
"Agregar código"))
strValor = Trim(InputBox("Introduce el <Valor> a agregar", _
"Agregar código"))
If strNombre = "" Or strValor = "" Then
MsgBox "Falta algun valor, no se reemplazara ningun dato"
Else
Cells(rEncontrado.Row, 2).Value = strNombre
Cells(rEncontrado.Row, 3).Value = strValor
End If
End If
Set rEncontrado = Nothing
Else
MsgBox "NO hay datos donde buscar"
End If
Else
MsgBox "Codigo no valido o cancelaste la operacion"
End If
End Sub
P.D. No se te olvide finalizar la pregunta cuando estés satisfecho con la respuesta
Añade un comentario a esta respuesta
Añade tu respuesta
Haz clic para o
Escribe tu mensaje
El autor de la pregunta ya no la sigue por lo que es posible que no reciba tu respuesta.
¿No es la respuesta que estabas buscando? Puedes explorar otras preguntas del tema Microsoft Excel o hacer tu propia pregunta: