Ordenar valor TextBox si no está vacío
Resuelto
thesentry
Mensajes publicados
1092
Estado
Miembro
-
thesentry Mensajes publicados 1092 Estado Miembro -
thesentry Mensajes publicados 1092 Estado Miembro -
Hola,
Tengo varias cajas de texto (textbox) en un USF. Algunas TextBox deben estar obligatoriamente llenas, otras no. Me gustaría colocar en la línea 1 de mi hoja de Excel los datos de las textbox que no estén vacías.
He probado con esto:
Private Sub CommandButton1_Click()
Dim X As Variant
X = ""
For i = 1 To 10
If UserForm1.Controls("TextBox" & i).Value <> "" Then
UserForm1.Controls("TextBox" & i).Value = X
Sheets("Feuil1").Range("Z1").End(xlToLeft).Offset(0, 1).Value = X
X = ""
End If
Next i
End Sub
pero no obtengo lo que esperaba, todas mis textbox se quedan en blanco y no se registra nada en la hoja...
¿Alguna idea?
Gracias
Configuración: Windows XP / Firefox 10.0.7
2 respuestas
-
Hola,
iría mejor así:
Private Sub CommandButton1_Click()
Dim X As Variant
For i = 1 To 10
If UserForm1.Controls("TextBox" & i).Value <> "" Then
Sheets("Feuil1").Range("Z1").End(xlToLeft).Offset(0, 1).Value = UserForm1.Controls("TextBox" & i).Value
End If
Next i
End Sub -
Ehm... Re
Ahora, tengo todo en la fila 1 de mi celda de Excel
Me gustaría que aparezca, en otro textbox, una síntesis compuesta como sigue:
Sheets(\"Feuil1\").Range(\"A1\").Value & vbCrLf _
Sheets(\"Feuil1\").Range(\"B1\").Value & vbCrLf _
Sheets(\"Feuil1\").Range(\"C1\").Value & vbCrLf _
Sheets(\"Feuil1\").Range(\"D1\").Value & vbCrLf _
Etc...
Pero no puedo escribir eso así porque la longitud de la línea depende de lo que haya escrito el usuario. Por lo tanto, tengo que generalizarlo.
Una gran, un comando que lea de derecha a izquierda, hasta DerCelluleRemplie y me muestre todo devolviendo a la línea cada vez