(recrue de codage affichant la première question jamais si s'il vous plaît pardonner mes erreurs)Capitaliser Dynamic Range dans VBA
Je suis en train d'apprendre des méthodes simples de validation des données. J'ai lu un autre article similaire à ce que je fais: convert-entire-range-to-uppercase, mais cela ne fonctionne pas quand je change la gamme pour répondre à mes besoins. N'a pas pu trouver autre chose qui a adressé ceci.
J'ai une colonne Excel nommée "Bloc" qui apparaît à différents endroits dans différents classeurs, et j'ai besoin de mettre en majuscule les lettres qui apparaissent dans cette colonne. Je pense que le code fonctionne comme prévu jusqu'à la dernière ligne, ce qui entraîne "#NAME?" remplir toute la gamme.
C'est ce que j'ai jusqu'à présent:
Dim LastColumn As Long
Dim LastRow As Long
Dim BlockColumn As Long
Dim BlockRange As Range
'defines LastColumn, LastRow & BlockColumn
LastColumn = Cells.Find(What:="*", After:=Range("a1"), LookAt:=xlPart, LookIn:=xlFormulas, _
SearchOrder:=xlByColumns, SearchDirection:=xlPrevious, MatchCase:=False).Column
LastRow = Cells.Find(What:="*", After:=Range("a1"), LookAt:=xlPart, LookIn:=xlFormulas, _
SearchOrder:=xlByRows, SearchDirection:=xlPrevious, MatchCase:=False).Row
BlockColumn = Cells.Find(What:="Block", After:=Range("a1"), LookAt:=xlPart, LookIn:=xlFormulas, _
SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:=False).Column
'capitalizes any text in BlockColumn
Set BlockRange = Range(Cells(2, BlockColumn), Cells(LastRow, BlockColumn))
BlockRange = [UPPER(BlockRange)]
En plus de se demander où je fait une erreur, je suis sûr que je l'ai trop compliqué cela. Quelqu'un pourrait-il me montrer un moyen de le repenser ou de le simplifier? Je me demandais aussi les avantages et les inconvénients généraux pour accomplir une tâche comme celle-ci via la boucle (par opposition à cette méthode), mais pas sûr si c'est l'endroit à demander que ...
'[]' * utilisé comme ceci * est un raccourci pour 'Evaluate'. Les crochets peuvent également être utilisés pour déclarer des membres enum cachés avec des noms autrement illégaux, par ex. '[_Default]'. Fous hein! Ça fait du bien de rehausser une de vos * réponses * (et pas un * commentaire *) enfin! =) –