Eliminar datos de toda una fila al eliminar un data de una celda...

Quisiera saber si se podrá realizar lo siguiente:

Necesito que al eliminar el dato que se encuentra en la columna B fila 3 osea B3 este me elimina los datos que se encuentran a un lado de su misma fila y así sucesivamente hasta la fila 4002

2 respuestas

Respuesta
1

Esta es una forma

Sub eliminar()
'Por.Dante Amor
    Set h1 = Sheets("CLIENTES REGISTRADOS")
    fila = 3
    uc = h1. Cells(fila, Columns. Count).End(xlToLeft). Column
 h1. Range(h1. Cells(fila, "B"), h1. Cells(fila, uc)). ClearContents
End Sub

Cambia fila = 3 por el número de fila que quieras eliminar

¿Hola dónde pego ese código?

No sé en qué momento quieres eliminar la fila. Tendrías que decirme cuál es el contexto, seleccionas la fila desde un formulario o quieres seleccionar la fila en la hoja y presionar un botón y que la macro elimine la fila en donde se encuentra el cursor el mouse. Además lo que te puse es un ejemplo, pero tienes que adaptarlo a lo que necesitas, según el contexto.

Se eliminaría los datos que están sobre esa fila al momento de eliminar el teléfono osea la celda B3..

Y así con las otras celdas en caso de que tengas teléfono (numero) y si tiene datos al momento de borrar el tel se borren los datos

¿Eliminas el teléfono desde un formulario o desde dónde?

Primero tienes que buscar el teléfono, ¿supongo?

Ya que lo encuentres, ¿quieres borrar los datos o quieres eliminar toda la fila?

Envíame tu última versión de archivo y me contestas mis dudas.

No olvides poner tu nombre en el asunto del correo.

Esta es la macro para borrar los datos del cliente

Sub BorrarCliente()
'Por.Dante Amor
    If ActiveCell.Row > 2 Then
        If ActiveCell.Column = 2 Then
            Range("B" & ActiveCell.Row & ":J" & ActiveCell.Row).ClearContents
            MsgBox "Datos de cliente borrados"
        Else
            MsgBox "Selecciona un teléfono de cliente"
        End If
    Else
        MsgBox "Selecciona una fila de cliente"
    End If
End Sub
Respuesta
1

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address = Range("B3").Address Then MIMACRO
End Sub
Sub MIMACRO()
If Cells(3, 2) = "" Then For I = 3 To 4002: Cells(3, I) = "": Next I
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas