Como modificar o eliminar datos de una o mas celdas, todo desde un botón?

10 envíos / 0 nuevos
Último envío
Daniel_86
Imagen de Daniel_86
Offline
última acción: Hace 12 años 1 mes
alta: 22/06/2008 - 20:20
Puntos: 90
Como modificar o eliminar datos de una o mas celdas, todo desde un botón?

Hola, 

Quisiera saber si alguien me puede ayudar con lo siguiente:

Tengo un "mini programa" donde ingreso información a través de un botón que llama a la Userform, ingreso bien y lo mismo al buscar alguna info.
Pero quisiera saber si al buscar y llamar a los datos desde la otra hoja, puedo modificar o eliminar aquellos datos.

Por ejemplo, si ingreso a un cliente X y luego lo quiero borrar o modificar sus datos, como podría hacerlo sin tener necesidad de ir a la hoja directamente y apretar ALT+B??


No se si se pueda hacer, ojalá me puedan ayudar.

Gracias.

Saludos! 



pacomegia
Imagen de pacomegia
Offline
última acción: Hace 5 horas 51 mins
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
Re: Como modificar o eliminar datos de una o mas celdas, todo de

cuando buscas la información, me imagino que tu programa lee los datos de las celdas y los muestra en cuadros de texto del formulario

harás algo parecido a esto ¿no?

TextBox1.Text = HojaConDatos.Range(Tucelda).Value

Cuando edites, tendrás que hacer al revés, asignar a la celda lo que hay en el cuadro de texto o en el control que sea

HojaConDatos.Range(Tucelda).Value = TextBox1.Text

parecido a lo que hagas cuando añades un dato nuevo, pero lo tendrás que hacer sobreescribiendo la fila del dato que estás editando.

------
Ya sé Excel, pero necesito más ahora en pdf

 

------
Ya sé Excel, pero necesito más.

Daniel_86
Imagen de Daniel_86
Offline
última acción: Hace 12 años 1 mes
alta: 22/06/2008 - 20:20
Puntos: 90
Re: Como modificar o eliminar datos de una o mas celdas, todo de

Hola, gracias por responder.

La verdad es que si comprendo lo que me dices, pero que pasa si no se el range?
porque son tantos datos que no se sabe la ubicación, mi idea era saber como reemplazar esos datos, y si no se puede, eliminarlo e ingresar los nuevos, que daría lo mismo lo importante era ingresar los datos actuales.

consultando también en otros sitios una persona me propuso que hiciera lo siguiente:

Dim Celda as RAnge

Set Celda = Cells.Find("ValorBuscado",,,xlwhole)

If Not Celda Is Nothing Then Celda.Value = "Nuevo Valor"

 

lo hago de todas las formas que se me ocurran y no me funciona.

adjunto te envío por si acaso una copia del archivo por si tienes un tiempo de revisar, es super básico, mas o menos graficando la idea de lo que busco.

muchas gracias y atento a tus comentarios. Risa
Saludos

AdjuntoTamaño
Office spreadsheet icon reemplazar_eliminar_datos.xls215.5 KB
pacomegia
Imagen de pacomegia
Offline
última acción: Hace 5 horas 51 mins
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
Re: Como modificar o eliminar datos de una o mas celdas, todo de

si esto se hiciese en una base de datos, sería inmediato, porque cada registro tendría un índice, etc. en Excel hay que simular este comportamiento mediante código.

Lo que necesitas es localizar la posición de un registro existente. Si lo hicieses mediante fórmulas, la función COINCIDIR te devuelve la posición en la que se encuentra un texto buscado (en tu caso la patente) dentro del rango.

si lo haces con VBA, puedes emplear esta función (en inglés es la función MATCH)

posicionbuscada = Application.Worksheetfunction.Match(valorbuscado,rango de datos, tipo de coincidencia)

con esto obtienes el número de fila dentro del rango, ya sabes que tu dato está en la fila X del rango (¡Ojo!, no es la fila X de la hoja)

Ahora que ya sabes donde está, ya puedes editar las celdas de esa fila

------
Ya sé Excel, pero necesito más ahora en pdf

 

------
Ya sé Excel, pero necesito más.

pacomegia
Imagen de pacomegia
Offline
última acción: Hace 5 horas 51 mins
Nivel 1 - 200 puntosNivel 2 - 500 puntosNivel 3 - 1000 puntosNivel 4 - 2000 puntosNivel 5 - 4000 puntosadministrador
alta: 27/12/2006 - 23:26
Puntos: 11175
Re: Como modificar o eliminar datos de una o mas celdas, todo de

La función Match simplemente encuentra la posición dentro de un rango, es decir, que va a devolver un número, por ejemplo si tu dato está en la fila 7, el resultado será 7

Ahora mismo lo que hace tu botón buscar es recorrer fila a fila el rango de datos hasta que uno coincide.
es correcto, pero es lento. 
podrías utilizar un contador dentro de tu bucle para saber en qué fila has encontrado el valor buscado.
 
la función match encuentra esa posición, aunque da un error si el dato no está, con lo que te simplifica por un lado y te complica por otro.
 
si tu botón ya busca, déjalo así.
para editar un dato, con un botón guardar, necesitas encontrar el valor antiguo, porque si lo editas puede que cambies el nº de auto y entonces no habrá manera de encontrarlo en la lista, así que necesitas guardar de alguna manera el dato original (por ejemplo en un cuadro de texto que esté inhabilitado para que el usuario no pueda editarlo.
luego puedes buscar tu valor igual que antes y en vez de tomar el valor de las celdas y escribirlos en el textbox, hacer al revés, tomar el valor del textbox y escribirlo en la celda.
 
para escribir valores en tus celdas (tal y como tienes tu botón buscar ahora mismo)
ActiveCell.Value = TextBox4.Text
ActiveCell.Offset(0, 1).Value = TextBox1.Text 
 
un saludo.

------
Ya sé Excel, pero necesito más ahora en pdf

 

------
Ya sé Excel, pero necesito más.

Daniel_86
Imagen de Daniel_86
Offline
última acción: Hace 12 años 1 mes
alta: 22/06/2008 - 20:20
Puntos: 90
Re: Como modificar o eliminar datos de una o mas celdas, todo de



finalmente lo dejé así

if ActiveCell.Offset(0, 1) = TextBox1.Text Then
ActiveCell.Value = TextBox5.Text

el textbox4 lo dejé inhabilitado, solo para que fuera el resultado de la búsqueda y el nuevo valor que quise modificar lo registré en el textbox5

También se pudo utilizar el textbox4 y modificar ahí mismo, pero quise tener un campo exclusivamente para el nuevo valor en este caso "patente".

 Muchísimas gracias por tu ayuda, fue mul útil!, excelente!

Saludos 

chuchocamacho (no verificado)
Imagen de chuchocamacho
Re: Como modificar o eliminar datos de una o mas celdas, todo de

Gracias pacomegia me soluciono el mismo problema que compartia.

        TextBox1 = Range(ubica).Offset(0, 1).Value

Lo realice tal como lo sugieres colocando al final la instruccion de TextBox1 que dando de esta manera!

        Range(ubica).Offset(0, 1).Value = TextBox1

Todo funciono de maravilla nuevamente muchisimas gracias por tu sencillo y valioso aporte, saludos!


visitante (no verificado)
Imagen de chuchocamacho
Boton Actualizar Datos

[Este comentario ha sido movido a un tema nuevo en el foro http://www.necesitomas.com/boton-actualizar-datos]

Marcela_ov
Imagen de Marcela_ov
Offline
última acción: Hace 6 años 6 meses
alta: 16/07/2017 - 19:03
Puntos: 130
Ayuda con codigo.
Krol2018 (no verificado)
Imagen de chuchocamacho
Eliminar Fila segun textbox

[Comentario movido a un tema nuevo del foro http://www.necesitomas.com/eliminar-fila-textbox]