2009-12-27 1 views
0

Donc j'utilise VBA UserForm dans Excel pour capturer des valeurs. Le problème est qu'après avoir assigné la valeur à ActiveCell et après que la valeur apparaisse initialement dans la cellule, la valeur disparaît quand je ferme TextBox. Je pense que je comprends pourquoi cela se produit, juste ne sais pas comment préserver la valeur après la fermeture de TextBox. Merci d'avance. Paul LPerdre ActiveCell.Value lors de la fermeture de TextBox à partir de quelle valeur copiée

+0

Pouvez-vous montrer du code? –

Répondre

0

Merci astander Merci d'avoir répondu, mais j'ai trouvé comment éviter le problème. Une solution consiste à éviter de fermer TextBox indéfiniment. Faire cela en utilisant le paramètre modal de méthode Show, comme indiqué ci-dessous

UserForm1.Show (vbModeless)

solution la plus élégante peut-être pas, mais cela fonctionne pour l'instant. En tout cas je suis encore à l'étape de Tinkering de travailler avec VBA. Essayer de m'instruire en utilisant des ressources en ligne et de livre. Encore une fois Paul L

+0

@Paul, vous pouvez toujours fournir le code comme quelqu'un pourrait avoir une meilleure solution, ou quelqu'un pourrait trouver votre réponse utile à l'avenir. –

0

Votre zone de texte est-elle liée à une cellule? Si c'est le cas, évitez cela et déposez la valeur de la zone de texte dans la cellule manuellement.

0

J'ai trouvé que la façon la plus simple de le faire est avec les variables. Par exemple,

Sub textmove() 
Dim textdata 

textdata = txtbox.text 
Range("A1").value = textdata 

End Sub 

Je ne sais pas si cela aide, mais je l'ai toujours trouvé plus facile de le faire en deux étapes (obtenir les données, puis attribuez-lui les données à une cellule). Je suis sûr qu'il y a une façon plus correcte et efficace de le faire, mais cela ne m'a jamais manqué!

Questions connexes