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.
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
- Anónimoahora mismo
Añade tu respuesta
Haz clic para
o
El autor de la pregunta ya no la sigue por lo que es posible que no reciba tu respuesta.