............ Foro Excel
Si no lo has hecho aún: REGISTRATE!!!

Dejar textbox en blanco para posteriormente editarlo

Ver el tema anterior Ver el tema siguiente Ir abajo

Dejar textbox en blanco para posteriormente editarlo

Mensaje por Felipe el Dom Ago 15, 2010 11:39 am

Hola, recurro a este excelente foro con el fin de que alguien pueda apoyarme con sus comentarios y observaciones para poder realizar lo que a continuación expongo:

Tengo el siguiente código que utlizo en un userform para llevar un registro de facturas y necesito que tanto el textbox 3 como el textbox 9 queden en blanco a la hora de hacer un nuevo registro o de editarlo ya que el textbox 3 se refiere a la fecha de cobro de la factura y este se debe llenar precisamente con la fecha en que se cobre tal documento y el textbox 9 se debe llenar con el número de una nota de crédito en el caso de que se le haga un descuento al cliente, por lo tanto este textbox 9 puede solo en algunas ocaciones llenarse con un dato, solo en el caso de dar un descuento al cliente o simple y sencillamente quedar en blanco para siempre. Pues resulta que a la hora que doy de alta un nuevo registro o lo edito y dejo un campo en blanco no me permite seguir adelante, espero puedan apoyarme con sus comentarios, ocrreciones u observaciones.

Saludos a todos, a continuación detallo primero el código para dar de alta un nuevo registro y el segundo es para editarlo:

Private Sub CommandButton3_Click()

Dim strfila$, ctr As Control

If TextBox1 = "" Or TextBox2 = "" Or TextBox3 = "" Or TextBox4 = "" Or TextBox5 = "" Or TextBox6 = "" Or TextBox7 = "" Or TextBox8 = "" Or TextBox9 = "" Then
MsgBox "No dejes ningun campo en blanco", vbOKOnly + vbInformation, "AVISO"
TextBox1.SetFocus
Exit Sub
End If

Set rango = Range("A:A").Find(What:=TextBox1, _
LookAt:=xlWhole, LookIn:=xlValues)
'' <> Empty
If Not rango Is Nothing Or TextBox2 = "" Or TextBox3 = "" Or TextBox4 = "" Or TextBox5 = "" Or TextBox6 = "" Or TextBox7 = "" Or TextBox8 = "" Or TextBox9 = "" Then
MsgBox "El dato ya existe", vbOKOnly + vbInformation, "AVISO"
TextBox1.SetFocus
Exit Sub
End If

strfila$ = [A65536].End(xlUp).Offset(1, 0).Row

Range("A" & strfila$) = TextBox1
Range("B" & strfila$) = CDate(TextBox2)
Range("C" & strfila$) = CDate(TextBox3)
Range("D" & strfila$) = TextBox4
Range("E" & strfila$) = TextBox5
Range("F" & strfila$) = Val(TextBox6)
Range("F" & strfila$).NumberFormat = "#,##0.00"
Range("G" & strfila$) = Val(TextBox7)
Range("G" & strfila$).NumberFormat = "#,##0.00"
Range("H" & strfila$) = Val(TextBox8)
Range("H" & strfila$).NumberFormat = "#,##0.00"
Range("I" & strfila$) = TextBox9

Range("A2:I100000").Select
With Selection
.HorizontalAlignment = xlLeft
End With

For Each ctr In Me.Controls
If TypeOf ctr Is MSForms.TextBox Then
ctr = ""
End If
Next ctr

Range("A" & strfila$ & ":I" & strfila$).HorizontalAlignment = xlCenter

TextBox1.SetFocus

End Sub


Private Sub CommandButton2_Click()

Dim ctr As Control

If rango Is Nothing Then
MsgBox "Aun no buscas ningun dato", vbOKOnly + vbInformation, "AVISO"
TextBox1.SetFocus
Exit Sub
End If

If TextBox2 = "" Or TextBox3 = "" Or TextBox4 = "" Or TextBox5 = "" Or TextBox6 = "" Or TextBox7 = "" Or TextBox8 = "" Or TextBox9 = "" Then
MsgBox "No dejes ningun campo en blanco", vbOKOnly + vbInformation, "AVISO"
Exit Sub
End If

Range("B" & rango.Row) = CDate(TextBox2)
Range("C" & rango.Row) = CDate(TextBox3)
Range("D" & rango.Row) = TextBox4
Range("E" & rango.Row) = TextBox5
Range("F" & rango.Row) = Val(TextBox6)
Range("F" & rango.Row).NumberFormat = "#,##0.00"
Range("G" & rango.Row) = Val(TextBox7)
Range("G" & rango.Row).NumberFormat = "#,##0.00"
Range("H" & rango.Row) = Val(TextBox8)
Range("H" & rango.Row).NumberFormat = "#,##0.00"
Range("I" & rango.Row) = TextBox9

For Each ctr In Me.Controls
If TypeOf ctr Is MSForms.TextBox Then
ctr = ""
End If
Next ctr

TextBox1.SetFocus

Set ctr = Nothing
Set rango = Nothing

End Sub


Gracias por sus aportes

Felipe

Masculino Cantidad de envíos : 9
Edad : 56
Ciudad - Pais : México
Version de Excel : 2007
Fecha de inscripción : 16/07/2009

Volver arriba Ir abajo

Re: Dejar textbox en blanco para posteriormente editarlo

Mensaje por GalileoGali el Mar Ago 17, 2010 9:28 pm

Código:
If TextBox1 = "" Or TextBox2 = "" Or TextBox4 = "" Or TextBox5 = "" Or TextBox6 = "" Or TextBox7 = "" Or TextBox8 = "" Then
MsgBox "No dejes ningun campo en blanco", vbOKOnly + vbInformation, "AVISO"
TextBox1.SetFocus
Exit Sub
End If

Set rango = Range("A:A").Find(What:=TextBox1, _
LookAt:=xlWhole, LookIn:=xlValues)
'' <> Empty
If Not rango Is Nothing Or TextBox2 = "" Or TextBox4 = "" Or TextBox5 = "" Or TextBox6 = "" Or TextBox7 = "" Or TextBox8 = "" Then
MsgBox "El dato ya existe", vbOKOnly + vbInformation, "AVISO"
TextBox1.SetFocus
Exit Sub
End If

y mucho mas abajo

Código:
Private Sub CommandButton2_Click()

Dim ctr As Control

If rango Is Nothing Then
MsgBox "Aun no buscas ningun dato", vbOKOnly + vbInformation, "AVISO"
TextBox1.SetFocus
Exit Sub
End If

If TextBox2 = "" Or TextBox4 = "" Or TextBox5 = "" Or TextBox6 = "" Or TextBox7 = "" Or TextBox8 = ""  Then
MsgBox "No dejes ningun campo en blanco", vbOKOnly + vbInformation, "AVISO"
Exit Sub
End If

_________________
GalileoGali
M.A.P. 2010-2013
Microsoft Active Professional
avatar
GalileoGali
Admin

Masculino Cantidad de envíos : 1962
Edad : 61
Ciudad - Pais : QUIROGA, Argentina
Version de Excel : 2000-2003-2007-2010
Fecha de inscripción : 24/01/2008

http://excelgali.mejorforo.net

Volver arriba Ir abajo

Re: Dejar textbox en blanco para posteriormente editarlo

Mensaje por Felipe el Miér Ago 18, 2010 5:02 pm

Gracias Maestro Gali:

Acabo de efectuar los cambios que me recomendo y todo quedo de maravilla, nada mas que tengo un problemita y abusando de su tiempo y conocimientos es sobre el mismo userform, pues resulta que a la hora que le pido buscar cualquier registro los importes me lo presente con un formato diferente al que le di cuando registro uno nuevo, en otras palabras si le doy una cantidad por mencionar alguna de 26,461.40 como registro nuevo y despues lo busco en el userform me la presenta como 26461,40.

Podría ayudarme a corregir este detalle y si no de todas maneras le agradezco mucho la ayuda que ya me propociono.

Le envío el código, a ver si se puede hacer algo al respecto,

Private Sub CommandButton1_Click()

If TextBox1 = "" Then
MsgBox "Coloca algun dato para buscar", vbOKOnly + vbInformation, "AVISO"
TextBox1.SetFocus
Exit Sub
End If

Set rango = Range("A:A").Find(What:=TextBox1, _
LookAt:=xlWhole, LookIn:=xlValues)

If rango Is Nothing Then
MsgBox "El dato no fue encontrado", vbOKOnly + vbInformation, "AVISO"
TextBox1 = "": TextBox1.SetFocus
Exit Sub
Else
TextBox2 = Range("B" & rango.Row)
TextBox3 = Range("C" & rango.Row)
TextBox4 = Range("D" & rango.Row)
TextBox5 = Range("E" & rango.Row)
TextBox6 = Range("F" & rango.Row)
TextBox7 = Range("G" & rango.Row)
TextBox8 = Range("H" & rango.Row)
TextBox9 = Range("I" & rango.Row)
End If

End Sub


Nuevamente mil gracias por su apoyo e interes

Felipe

Masculino Cantidad de envíos : 9
Edad : 56
Ciudad - Pais : México
Version de Excel : 2007
Fecha de inscripción : 16/07/2009

Volver arriba Ir abajo

Re: Dejar textbox en blanco para posteriormente editarlo

Mensaje por GalileoGali el Miér Ago 18, 2010 6:35 pm

Prueba esto:

TextBox5 =Format(Range("E" & rango.Row), "#.##0,00")

o tal vez

TextBox5 =Format(Range("E" & rango.Row), "#,##0.00")

El / Los TextBox a a plicar tienes que determinarlos vos

_________________
GalileoGali
M.A.P. 2010-2013
Microsoft Active Professional
avatar
GalileoGali
Admin

Masculino Cantidad de envíos : 1962
Edad : 61
Ciudad - Pais : QUIROGA, Argentina
Version de Excel : 2000-2003-2007-2010
Fecha de inscripción : 24/01/2008

http://excelgali.mejorforo.net

Volver arriba Ir abajo

Re: Dejar textbox en blanco para posteriormente editarlo

Mensaje por Felipe el Jue Ago 19, 2010 4:30 pm

Le estoy muy agradecido Maestro Gali, ya que hice los cambios que me planteo Usted y ya todo quedo como yo quería.

Que Dios lo bendiga y le mando un afectuoso saludo, mil gracias

Felipe

Masculino Cantidad de envíos : 9
Edad : 56
Ciudad - Pais : México
Version de Excel : 2007
Fecha de inscripción : 16/07/2009

Volver arriba Ir abajo

Re: Dejar textbox en blanco para posteriormente editarlo

Mensaje por Contenido patrocinado


Contenido patrocinado


Volver arriba Ir abajo

Ver el tema anterior Ver el tema siguiente Volver arriba


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