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.]

fedz14


Buen día.

Solicito de su apoyo debido encontre el siguiente codigo en esta pagina y me funciona a la perfección pero quiero que cuando termine una linea me permita escribir mas adelante, me explico quiero que verifique que la celda A1 no este vacia y si lo esta me regrese a ella y me permita avanzar hasta que esta se llene lo mismo para B1, C1, D1 hasta H1, terminado H1 quiero poder agregar libremente texto en I1, J1, K1, .... Z1 (quiero que ya no verifique si las celdas estan vacias) y que repita el mismo proceso cuando me coloque en A2, A3, A4.... etc. anexo el codigo que proporcionaron en esta misma pagina.

Creador del codigo MaquinaAzul.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Obliga a llenar celdas

On Error GoTo Etiqueta

If Selection.Offset(, -1) = "" Then
MsgBox "Debes llenar celda a la izquierda" & Chr(13) & "Te regreso a ella."
Selection.Offset(, -1).Select
End If

Etiqueta:
           End Sub

Tambien tiene el siguiente codigo para delimitar las areas donde debe funcionar:

Private Sub Workbook_Open()
Worksheets("Hoja1").ScrollArea = "A10:H20"  'Modifica rango según necesites
'Limita el área de desplazamiento en la hoja
End Sub

Sin mas por el momento Agradezco su Ayuda



Última edición por fedz14 el 30/03/16, 06:41 pm, editado 1 vez (Razón : errores en la redacción de la pregunta)

Igtelo


Hola Fedz14.

Sólo es agregar una línea. Lo grabas en la hoja (1,2, 3,etc, donde la necesites) no lo vayas a hacer en módulo; la macro del scroll quítala no es necesaria.
Código:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'Obliga a llenar celdas
If Intersect(Target, [A:I]) Is Nothing Then Exit Sub
On Error GoTo Etiqueta

If Selection.Offset(, -1) = "" Then
MsgBox "Debes llenar celda a la izquierda." & Chr(13) & "Te regreso a ella."
Selection.Offset(, -1).Select
End If

Etiqueta:
 End Sub

Saludos
Ignacio Téllez

3RESUELTO Resuelto el 31/03/16, 10:47 am

fedz14


Te agradezco mucho tu ayuda Ignacio me funcionó a la perfección

fedz14


Perdon faltó el botón de  resuelto

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.