(http://fotos.subefotos.com/99c053e08b537b549d8367e4786592dfo.jpg)
(http://fotos.subefotos.com/c170a6b566dffeaa0fdb7a9ff740a7f7o.jpg)
cuando los textbox1 el 2 y el 3 esten llenos los tres debe pasar los datos que se rellenan, si faltara rellenar un textbox deberia salir un mensaje alertando que falta llenar ese campo:
por ejemplo si falta edad entonces deberia salir mensaje "falta llenar edad" y no deberia permitir que pasen los datos a las celdas, asi con todas las combinaciones con tres textbox, es necesario usar solo el select case,.... a ver si me ayudan ver donde puedo estar errando.....
+cuando no se ha introducido ningun dato , hasta ahi corre chevre en las combinaciones tengo problemas.
ESTE EL CODIGO del boton aceptar
-------------------
Private Sub CommandButton1_Click()
Select Case (TextBox1 = "" Or TextBox2 = "" Or TextBox3 = "")
Case TextBox1 = "" And TextBox2 = "" And TextBox3 = "":
MsgBox ("faltan nombre y apellido,edad y direccion")
Case TextBox1 = "" And TextBox2 = "":
MsgBox ("faltan edad")
Case TextBox2 = "" And TextBox3 = "":
MsgBox ("faltan nombre")
Case Else
For x = 2 To 35
If Cells(x, 2) = "" Then
Exit For
End If
Next
Cells(x, 1) = TextBox1
Cells(x, 2) = TextBox2
Cells(x, 3) = TextBox3
End Select
End Sub
----------------
Option Explicit
Private Sub Command1_Click()
If Not TextComplete(Edad) Then Exit Sub
'Aquí completa las celdas.
MsgBox "Siguiente Instrucción"
End Sub
Function TextComplete(TextBox As TextBox) As Boolean
TextComplete = IIf(LenB(TextBox.Text), True, False)
If Not TextComplete Then MsgBox "Falta completar: " & TextBox.Name
End Function
si utilizo el IF :corre bien
If TextBox1 = "" Or TextBox2 = "" Or TextBox3 = "" Then
MsgBox ("faltan nombre y apellido,edad y direccion")
Else
For x = 2 To 35
If Cells(x, 2) = "" Then
Exit For
End If
Next
Cells(x, 1) = TextBox1
Cells(x, 2) = TextBox2
Cells(x, 3) = TextBox3
End If
pero lo que yo BUSCO es como escribirlo esta sentencia con el SELECT CASE usando su sintaxis,,,,,, osea cambiar el codigo de arriba que esta con el if por un CASE
Es que queda horrible haciendo uso de select case, estas seguro que te lo han pedido asi?
hola dime si te sirve
Private Sub Command1_Click()
Select Case ""
Case txt_Nombre
MsgBox "Error Falta El Nombre...", vbInformation, "Aviso De Error"
Case txt_Apellido
MsgBox "Error Falta El Apellido...", vbInformation, "Aviso De Error"
Case txt_Edad
MsgBox "Error Falta El Edad...", vbInformation, "Aviso De Error"
End Select
End Sub
saludos
Como te han dicho parece mal usar select case pero... probá este código
vi q usas for lo único q cambié es q en vez de varios textbox es uno solo en matriz, o sea haces uno, lo copias y pegas. en este caso pegué dos veces, podes hacer todos los que quieras solo cambias en for la cantidad y agregas los cases index que necesites.
Private Sub Command1_Click()
Dim I As Integer
For I = 0 To 2
Select Case Text1(I).Text
Case ""
Select Case I
Case 0
MsgBox ("falta nombre ")
Text1(0).SetFocus
Exit Sub
Case 1
MsgBox ("falta apellido")
Text1(1).SetFocus
Exit Sub
Case 2
MsgBox ("falta direccion")
Text1(2).SetFocus
Exit Sub
End Select
Case Else
' Cells(x, 1) = Text1(0)
' Cells(x, 2) = Text1(1)
' Cells(x, 3) = Text1(2)
End Select
Next
End Sub
bueno viendo como utilizaban el SELECT case de estas ""... lo resolvi, gracias por responder y gracias sobre todo a Flamer y a tincopasan .... que me dieron ideas de como usar el select case en este caso.... ;-)