Quelle est la différence entre les deux .texte, .valeur, et .valeur2?

Je ne suis pas à demander de l'aide avec n'importe quel script, mais ma question est pour avoir des précisions. Dernièrement, j'ai fait beaucoup de script VB dans Excel, donc je suis vraiment se référant à Exceller dans cette question. Quelle est la différence entre les deux .texte, .valeur, et .valeur2? Comme quand dois-je utiliser de la cible.le texte, à la cible.valeur, et de la cible.valeur2? Je n'ai jamais utilisé de la valeur2 option mais souhaitez tout de même de savoir à quoi il sert.

Parfois si j'utilise .le texte qu'il me donne une erreur et j'ai besoin d'utiliser .valeur quand je suis seule vérification ou de manipuler du texte dans une cellule. Alors, parfois, quand je pense que je devrais utiliser .valeur, j'obtiens une erreur et j'ai besoin d'utiliser .texte. Habituellement, il accepte ou non d'un problème, mais parfois, il peut faire une différence. Je sais, il y a une certaine logique à cela, mais je n'arrive pas à le comprendre.

J'ai aussi découvert que si vous venez de le laisser comme cible sans préciser .texte ou .valeur il va d'abord travailler, mais alors quelque chose que quelqu'un ne causera éventuellement le script à l'erreur, il est donc toujours préférable d'utiliser un .quelque chose sur elle. Je suppose que ce que je demande, c'est si quelqu'un peut me donner une sorte de ligne directrice, la règle de pouce, à la façon de bien les utiliser et quand il doit être utilisé.

Merci pour l'explication, les gars. J'ai en quelque sorte de mieux les comprendre. Ils sont tous les deux de bonnes explications. Ci-dessous, un petit exemple d'une partie de mon code qui ne fonctionne pas. J'ai pensé qu'il devrait être la cible.le texte, mais il aurait erreur alors quand j'ai utilisé de la cible.valeur cela a fonctionné.

If LCase(Target.Value) = LCase("HLO") And Target.Column = 15 Then
    Target.Value = "Higher Level Outage"
End If

Je suis encore un peu confus parce que quand je pense de la valeur ou de valeur2, surtout après vos réponses que vous avez fournies, je pense qu'ils devraient seulement être utilisés pour les numéros. Cependant, dans mon exemple je parle strictement du texte, ce qui est beaucoup de ce que mon script se réfère à (texte dans les cellules, plus que des chiffres).

  • LCase(La Cible.Valeur) échoue si la Cible.La valeur n'est pas coercable à une chaîne de caractères depuis LCase nécessite une chaîne de caractères à un argument. Vous devriez vérifier le VarType d'abord en tant que par ma réponse. Notez également que vous pourriez utiliser UCase au lieu et à la comparer directement à "HLO": pas beaucoup de point dans l'exploitation sur un littéral.
  • Merci pour les informations sur VarType. Aussi loin que l'LCase ou UCase pour cela, il ne serait vraiment pas d'importance que celle que j'ai utilisé. Certaines personnes type comme hlo et autres type comme HLO. De ce que j'ai vu qu'il était le plus faible de cas a été utilisée plus souvent.
InformationsquelleAutor Chris | 2013-06-28