Ayuda con una macro

03/03/2005 - 19:09 por DOORS | Informe spam
Saludos, necesito la ayuda de alguien, como puedo incluir una sentencia if en
excel por medio de una macro para que si yo no lleno un un campo
determinado, me mande una mensaje
de que no puede continuar hasta llenar el campo o cuando abra el archivo me
indique , que debo de ellenar primero ese campo para asi poder continuar.

Gracias por la ayuda

Preguntas similare

Leer las respuestas

#1 KL
04/03/2005 - 01:55 | Informe spam
Hola DOORS,

Como ejemplo para orientarte, podrias probar lo siguiente:

1) Dentro del modulo VBA de EsteLibro (ThisWorkbook) pon el siguiente
codigo:

Private Sub Workbook_Open()
With ThisWorkbook.Worksheets("Hoja1").Range("A1")
If .Value = "" Then
MsgBox "Por favor rellene la celda [A1] primero!"
.Parent.Activate
.Select
End If
End With
End Sub

2) Dentro del modulo VBA de la Hoja1 pon el siguiente codigo:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.EnableEvents = False
With Range("A1")
If .Value = "" Then
MsgBox "Por favor rellene la celda [A1] primero!"
.Select
End If
End With
Application.EnableEvents = True
End Sub

3) Acuerdate de habilitar macros cada vez q habres el fichero.

Saludos,
KL

"DOORS" wrote in message
news:
Saludos, necesito la ayuda de alguien, como puedo incluir una sentencia if
en
excel por medio de una macro para que si yo no lleno un un campo
determinado, me mande una mensaje
de que no puede continuar hasta llenar el campo o cuando abra el archivo
me
indique , que debo de ellenar primero ese campo para asi poder
continuar.

Gracias por la ayuda


Respuesta Responder a este mensaje
#2 DOORS
04/03/2005 - 15:13 | Informe spam
MUCHAS GRACIAS POR EL CODIGO KL!!!!, PERO ME MANDA EL MENSAJE, PERO AUN ASI
ME DEJA RELLENAR LOS OTROS CAMPOS SI NO RELLENO PRIMERO EL "A1", EN EL CODIGO
QUE SE DIGITA DENTRO DEL MODULO VBA DE LA HOJA 1, ME INDICA QUE PRIVATE SUB()
WORKSHEET_SELECTIONCHANGE, ES UN NOMBRE AMBIGUO Y NO PODRA SER UTILIZADO , NO
SE SI EL PROBLEMA ANDA POR AHI...

MUCHAS GRACIAS POR TU VALIOSA AYUDA :)

"KL" wrote:

Hola DOORS,

Como ejemplo para orientarte, podrias probar lo siguiente:

1) Dentro del modulo VBA de EsteLibro (ThisWorkbook) pon el siguiente
codigo:

Private Sub Workbook_Open()
With ThisWorkbook.Worksheets("Hoja1").Range("A1")
If .Value = "" Then
MsgBox "Por favor rellene la celda [A1] primero!"
.Parent.Activate
.Select
End If
End With
End Sub

2) Dentro del modulo VBA de la Hoja1 pon el siguiente codigo:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.EnableEvents = False
With Range("A1")
If .Value = "" Then
MsgBox "Por favor rellene la celda [A1] primero!"
.Select
End If
End With
Application.EnableEvents = True
End Sub

3) Acuerdate de habilitar macros cada vez q habres el fichero.

Saludos,
KL

"DOORS" wrote in message
news:
> Saludos, necesito la ayuda de alguien, como puedo incluir una sentencia if
> en
> excel por medio de una macro para que si yo no lleno un un campo
> determinado, me mande una mensaje
> de que no puede continuar hasta llenar el campo o cuando abra el archivo
> me
> indique , que debo de ellenar primero ese campo para asi poder
> continuar.
>
> Gracias por la ayuda
>
>



Respuesta Responder a este mensaje
#3 KL
04/03/2005 - 16:24 | Informe spam
Hola DOORS,

Efectivamente, el problema esta en q ya tienes un procedimiento asociado al
evento Worksheet_SelectionChange. Solo puede existir uno dentro del mismo
libro, por lo cual tendras q juntar mi codigo y el q ya tenias entre las
siguientes lineas:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'TuCodigo
'MiCodigo
End sub

Tambien, si quieres, enviame el fichero por correo electronico quitando
NOSPAM y PLEASE de la direccion.

Saludos,
KL

"DOORS" wrote in message
news:
MUCHAS GRACIAS POR EL CODIGO KL!!!!, PERO ME MANDA EL MENSAJE, PERO AUN
ASI
ME DEJA RELLENAR LOS OTROS CAMPOS SI NO RELLENO PRIMERO EL "A1", EN EL
CODIGO
QUE SE DIGITA DENTRO DEL MODULO VBA DE LA HOJA 1, ME INDICA QUE PRIVATE
SUB()
WORKSHEET_SELECTIONCHANGE, ES UN NOMBRE AMBIGUO Y NO PODRA SER UTILIZADO ,
NO
SE SI EL PROBLEMA ANDA POR AHI...

MUCHAS GRACIAS POR TU VALIOSA AYUDA :)

"KL" wrote:

Hola DOORS,

Como ejemplo para orientarte, podrias probar lo siguiente:

1) Dentro del modulo VBA de EsteLibro (ThisWorkbook) pon el siguiente
codigo:

Private Sub Workbook_Open()
With ThisWorkbook.Worksheets("Hoja1").Range("A1")
If .Value = "" Then
MsgBox "Por favor rellene la celda [A1] primero!"
.Parent.Activate
.Select
End If
End With
End Sub

2) Dentro del modulo VBA de la Hoja1 pon el siguiente codigo:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.EnableEvents = False
With Range("A1")
If .Value = "" Then
MsgBox "Por favor rellene la celda [A1] primero!"
.Select
End If
End With
Application.EnableEvents = True
End Sub

3) Acuerdate de habilitar macros cada vez q habres el fichero.

Saludos,
KL

"DOORS" wrote in message
news:
> Saludos, necesito la ayuda de alguien, como puedo incluir una sentencia
> if
> en
> excel por medio de una macro para que si yo no lleno un un campo
> determinado, me mande una mensaje
> de que no puede continuar hasta llenar el campo o cuando abra el
> archivo
> me
> indique , que debo de ellenar primero ese campo para asi poder
> continuar.
>
> Gracias por la ayuda
>
>



Respuesta Responder a este mensaje
#4 DOORS
04/03/2005 - 17:23 | Informe spam
LISTO!!!!, TE LO AGRADEZCO MUCHISIMO.
MUCHAS GRACIAS. :)

"KL" wrote:

Hola DOORS,

Efectivamente, el problema esta en q ya tienes un procedimiento asociado al
evento Worksheet_SelectionChange. Solo puede existir uno dentro del mismo
libro, por lo cual tendras q juntar mi codigo y el q ya tenias entre las
siguientes lineas:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'TuCodigo
'MiCodigo
End sub

Tambien, si quieres, enviame el fichero por correo electronico quitando
NOSPAM y PLEASE de la direccion.

Saludos,
KL

"DOORS" wrote in message
news:
> MUCHAS GRACIAS POR EL CODIGO KL!!!!, PERO ME MANDA EL MENSAJE, PERO AUN
> ASI
> ME DEJA RELLENAR LOS OTROS CAMPOS SI NO RELLENO PRIMERO EL "A1", EN EL
> CODIGO
> QUE SE DIGITA DENTRO DEL MODULO VBA DE LA HOJA 1, ME INDICA QUE PRIVATE
> SUB()
> WORKSHEET_SELECTIONCHANGE, ES UN NOMBRE AMBIGUO Y NO PODRA SER UTILIZADO ,
> NO
> SE SI EL PROBLEMA ANDA POR AHI...
>
> MUCHAS GRACIAS POR TU VALIOSA AYUDA :)
>
> "KL" wrote:
>
>> Hola DOORS,
>>
>> Como ejemplo para orientarte, podrias probar lo siguiente:
>>
>> 1) Dentro del modulo VBA de EsteLibro (ThisWorkbook) pon el siguiente
>> codigo:
>>
>> Private Sub Workbook_Open()
>> With ThisWorkbook.Worksheets("Hoja1").Range("A1")
>> If .Value = "" Then
>> MsgBox "Por favor rellene la celda [A1] primero!"
>> .Parent.Activate
>> .Select
>> End If
>> End With
>> End Sub
>>
>> 2) Dentro del modulo VBA de la Hoja1 pon el siguiente codigo:
>>
>> Private Sub Worksheet_SelectionChange(ByVal Target As Range)
>> Application.EnableEvents = False
>> With Range("A1")
>> If .Value = "" Then
>> MsgBox "Por favor rellene la celda [A1] primero!"
>> .Select
>> End If
>> End With
>> Application.EnableEvents = True
>> End Sub
>>
>> 3) Acuerdate de habilitar macros cada vez q habres el fichero.
>>
>> Saludos,
>> KL
>>
>> "DOORS" wrote in message
>> news:
>> > Saludos, necesito la ayuda de alguien, como puedo incluir una sentencia
>> > if
>> > en
>> > excel por medio de una macro para que si yo no lleno un un campo
>> > determinado, me mande una mensaje
>> > de que no puede continuar hasta llenar el campo o cuando abra el
>> > archivo
>> > me
>> > indique , que debo de ellenar primero ese campo para asi poder
>> > continuar.
>> >
>> > Gracias por la ayuda
>> >
>> >
>>
>>
>>



email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaRespuesta Tengo una respuesta
Search Busqueda sugerida