Buscar y borrar datos exactos con macros en excel

Quiero que si le indico que busque y elimine (Z8), lo borre, tal como es, y No todo lo relacionado con (Z8), (Z8 PANCHO), (Z8LUIS), (Z8 JUANA), (Z8MARTA), si no que borre solo lo que le indique. Y algo más.
No me manden a la ´´respuestas relacionadas´´, no creen entonces para que les escribimos, si ya están las respuestas, entonces para que formulamos preguntas, no es más lógico pensar dar una respuesta si es que la hay y luego sugerir otras alternativas como las respuestas relacionadas que ya están en internet.

1 Respuesta

Respuesta
1
Entiendo que solo necesitas borrar la celda que diga Z8, si dice Z8 PANCHO no la borre ni siquiera el texto buscado, ¿verdad?
Si es así, este ejemplo te servirá. Ajusta el rango de búsqueda que lo dejé como A1:D100
Sub borrando()
'x Elsamatilde
dato = "ene"
Set busco = Range("A1:D100").Find(dato, LookIn:=xlValues, Lookat:=xlWhole)
'Selection.FindNext(After:=ActiveCell).Activate
If busco Is Nothing Then
MsgBox "No se encontró el dato a borrar", vbInformation, "Error"
Else
busco.Value = "" 'solo borra la celda encontrada
End If
Set busco = Nothing
End Sub
Sdos y no olvides finalizar la consulta
GRACIAS!, Experto por molestarte, en verdad agradezco tu tiempo, y creo que es excelente tu respuesta, pero no supe acondicionarlo tal vez, mira te mando mi macro, lo que pasa es que son muchos códigos que tengo y todos son iguales al inicio con el valor(T) y el segundo seguido de numero hasta 300 (T1),(T2),(T3) HASTA (7300), y aveces le pongo una letra para que no me borre todos (T300A), pero si escribo el vlor (T) me borra todos, auxilio, y si pongo (T3) para distinguir, me borra (7300A). No importa si puse la letra, y gracias por tu ayuda, yo se que me entendiste desde la primera vez que contestaste. Ok aquí lo tienes:
Private Sub CommandButton2_Click()
Application.ScreenUpdating = False
Sheets("PRESTAMOS2").Select
Valor_Buscado = TextBox1
If TextBox1.Value = Empty Then
MsgBox "INTRODUSCA UN VALOR"
Exit Sub
End If
Dim Borrado As Boolean
Borrado = False
On Local Error Resume Next
Do While Err.Number = 0
Columns("A:Z").Select
Range("A3:Z302").Select
Selection.Find(What:=Valor_Buscado, After:=ActiveCell, LookIn:=xlFormulas, _
LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
MatchCase:=False, SearchFormat:=False, After:=Len(celdarastreada) = False).Activate
If Err.Number = 0 Then
ActiveCell.Select
Selection.ClearContents
Borrado = True
End If
Loop
Range("A3").Select
If Borrado = True Then
Sheets("PANEL").Select
Application.ScreenUpdating = True
MsgBox "ARTICULO IDENTIFICADA y BORRADA", vbInformation, "VALE DE FIAR"
Else
MsgBox "No se Encontro!__ Introdujo bien el dato?", vbExclamation, "No Encontrado"
End If
End Sub
Aquí veo que puede haber varias celdas con el mismo valor T, ¿verdad?
Si es así esperame que ya te la ajusto.
Si solo habrá una celda con el valor buscado tenés que reemplazar Selection. Find por el Set que te envié antes.....
Mejor me lo confirmas y te la ajusto
Sdos
Elsa
Okey, Experto le intente pero me gustaría, que el que te envíe, sin menospreciar lo que pasa, es que el tengo me avisa si no introduzco un valor, me avisa cuando el valor es incorrcecto, también me avisa cuando lo encontró y lo elimino, solo que el problema que elimina todos los datos que empiezan con los primeros caracteres ingresados no importan si son diferentes al final,
Pues hay me tienes haciendo respaldos je je, lo que ue no es saber, como ustedes, espero que me puedas ayudar para ajustar el que te envíe y solo borre lo que le ingreso (t10) borre T10, T219 borre T219, Y NO T10PANCHO, Y NO T219FERNANDA, espero explicarme y me puedas sacar de este apuro, Si no se puede, gracias Elsamatilde de todas maneras,
Si no el que me enviaste, le are la lucha, para cumpla las condiciones deseadas, chao. Espero su respuesta, gracias!
No me contestaste lo que pregunté.... así que aquí va como lo entendí. Que solo encontrará 1 celda con el valor buscado
Private Sub CommandButton1_Click()
'x Elsamatilde
Application.ScreenUpdating = False
Sheets("PRESTAMOS2").Select
Valor_Buscado = TextBox1
If TextBox1.Value = Empty Then
MsgBox "INTRODUzCA UN VALOR"
Exit Sub
End If
Dim Borrado As Boolean
Borrado = False
dato = TextBox1
On Local Error Resume Next
Columns("A:Z").Select
Range("A3:Z302").Select
Set busco = Selection.Find(dato, LookIn:=xlValues, Lookat:=xlWhole)
'si la búsqueda fue exitosa se limpia la celda
If Not busco Is Nothing Then
busco.Select
Selection.ClearContents
Range("A3").Select
Sheets("PANEL").Select
Application.ScreenUpdating = True
MsgBox "ARTICULO IDENTIFICADA y BORRADA", vbInformation, "VALE DE FIAR"
Else
MsgBox "No se Encontro!__ Introdujo bien el dato?", vbExclamation, "No Encontrado"
End If
Set busco = Nothing
End Sub
Estas líneas pueden mejorarse:
busco.Select
Selection. ClearContents 'reemplazar las 2 por esta sola: busco. ClearContents
Range("A3"). Select 'aqui se selecciona A3 de hoja PRESTAMOS2 y luego se pasa a PANEL. Quizás quieras cambiar el orden
Sheets("PANEL").Select
Sdos
Elsa
http://aplicaexcel.galeon.com/manuales.htm
MUCHAS GRACIAS, Luego que lo recibí, me fui rapido y lo utilice de maravilla es eso exactamente lo que te pedía, me vindicaste por que había borrado muchos datos,
Y si perdontu respuesta: todos los códigos empiezan con la letra ( T), que significa tienda, y los números el el lugar y son muchísimos productos y todos con (T). Espero no haberte enfadado. Pero me salvaste de un jalada de orejas. Je

Añade tu respuesta

Haz clic para o