excel vba appel de sous-routine avec des variables
J'ai défini la sous-routine suivante:
Sub EnterCellValueMonthNumber(cells As range, number As Integer)
range(cells).Select
ActiveCell.FormulaR1C1 = number
End Sub
Quand je l'appelle la sous-routine comme ceci:
EnterCellValueMonthNumber ("N23:Q23",1)
Je reçois le message d'erreur suivant:
Compile error Expected: =
Je n'ai aucune idée de pourquoi j'obtiens ce message. Personne ne sait ce que je suis absent?
Vous devez vous connecter pour publier un commentaire.
Que vous appelez le sub
Sans crochets. Ou
Crochets, et
Call
avant.Aussi, vos Sous, s'attend à un objet Range comme premier argument et vous êtes à la fourniture d'une chaîne, vous devez modifier la signature de la sub:
Aussi, je ne suis pas certain de ce que vous essayez d'atteindre avec ce code car il ne le jeu en haut à gauche de la cellule de la plage à 1. Serait quelque chose comme
être plus approprié?
Je voudrais aussi être très prudents à l'égard de l'aide
Range("...")
sans préciser la feuille à laquelle vous faites allusion. Cela permettra d'agir sur celui qui est la feuille active et peut donc causer des problèmes inattendus, presque toujours préférerSheetX.Range("...")
. De même pour l'utilisation de.Select
, il est inutile, et ne peut que causer des problèmes pour vous dans l'avenir.En fait, vous avez 2 questions.
D'abord la réponse exacte à votre question. Vous devez vous dire:
Mais cela ne marchera pas si vous l'exécutez, puisque vous avez défini
cells
de typerange
... le définir comme typestring
à l'aide de ce lieu:Essayez le code suivant: