UniversoExcelForo

Respuesta a consultas.
Fecha de creación: 09.Abril.2012

Fundadores: Wibly,Tyno,Servando,Sakkar,Rosendo2,RMaximo,Railar,Mcoronel,Ioyama,Igtelo,Hugotron,Drochar,Dedos,Alberto,Adolfo

No se pueden hacer consultas de Excel o VBA por mensaje privado.
Utiliza el botón buscar del foro y te ahorras tiempo para obtener "ayuda".

No estás conectado. Conéctate o registrate

Ver el tema anterior Ver el tema siguiente Ir abajo  Mensaje [Página 1 de 1.]

maquinitaazul


Hola que tal amigos expertos, estoy creando un libro de excel para  eliminar registros de la columna "B",si es que la columna "A" esta vacía.

Es decir que no permita ingresar datos en "B2,B3,B4,Bn" si las celdas"A1,A2,A3,An" estan vacías.

Conseguí cumplir dicha condición, pero sólo lo hace en A2 y B2, y necesito que lo haga en toda la columna.



Espero  haya sabido explicar el problema.De antemanos muchas gracias, espero me puedan ayudar.Reciban un cordial saludo.
Archivos
EJEMPLO.xlsm
No tienes los permisos para descargar los archivos.
(15 KB)

railar


Hola maquinitaazul,

Prueba con este código en tu hoja
Código:
Private Sub worksheet_change(ByVal target As Range)
Dim i As Integer
Dim max As Integer
Application.ScreenUpdating = False
Application.EnableEvents = False
On Error Resume Next
max = Range("B60000").End(xlUp).Row
For i = 2 To max
If Cells(i, 1) = "" Then
Cells(i, 2).ClearContents
End If
Next i
Application.EnableEvents = True
Application.ScreenUpdating = True

End Sub

Saludos

Raúl

maquinitaazul


Que tal amigo Railar, déjame decirte que esta super bien el código que me has brindado, excelente.Sólo una cosa mas sino es mucho pedir.Como sería el código si también abarcara la columna "C"?

Es decir que sino hay datos en la columna A que se borre B Y C. Serían todas mis dudas para dar el tema por solucionado.Muchas gracias y disculpa si hice otra pregunta.Saludos cordiales.

railar


Hola maquinitaazul, me alegra que te haya servido.
Le agregas otra condición y tener en cuenta que la última fila debe seleccionarla en la columna B o C para que no acepte datos al final.
Tu código debe quedar así
Código:
Private Sub worksheet_change(ByVal target As Range)
Dim i As Integer
Dim max As Integer
Application.ScreenUpdating = False
Application.EnableEvents = False
On Error Resume Next
'Identificar el numero de la última fila para el bucle en cualquiera de las 2 últimas columnas para que no acepte datos en la celdas siguiente de esas dos columnas
max = Range("B60000").End(xlUp).Row Or Range("C60000").End(xlUp).Row
'Puedes utilizar también cualquiera de estas dos instrucciones que cumplen lo previsto en la instrucción anterior
'max = Range("A60000").End(xlUp).Offset(1, 0).Row
'max = Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).Row
For i = 2 To max
If Cells(i, 1) = "" Then
Cells(i, 2).ClearContents
Cells(i, 3).ClearContents 'Condición agregada
End If
Next i
Application.EnableEvents = True
Application.ScreenUpdating = True

End Sub

Saludos,

Raúl

maquinitaazul


Perfectisimo amigo, muchas gracias.Es exactamente lo que he estado buscando.Un gran saludo.
 Very Happy  Very Happy  Very Happy  Very Happy  Very Happy  Very Happy  Very Happy  Very Happy  Very Happy  Very Happy

maquinitaazul


Like a Star @ heaven  Like a Star @ heaven  Like a Star @ heaven  Like a Star @ heaven  Like a Star @ heaven

7RESUELTO Excelente!!! el 03/10/16, 08:02 pm

tuco87


Saludos amigos, casualmente esto era lo que andaba buscando, lo adapte a mis necesidades y quedo perfecto!!  Like a Star @ heaven Like a Star @ heaven Like a Star @ heaven Like a Star @ heaven Like a Star @ heaven Like a Star @ heaven Like a Star @ heaven Like a Star @ heaven Like a Star @ heaven Like a Star @ heaven Like a Star @ heaven Muchas Gracias por el aporte!

Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

Permisos de este foro:
No puedes responder a temas en este foro.