2017-10-19 31 views
1

Je souhaite sélectionner la plage décrite ci-dessous pour la formater. Cependant, il indique qu'il existe un nombre incorrect d'arguments ou une attribution de propriété non valide.Erreur lors de la sélection d'une plage de cellules

With ws3.Range("C8", "C12", "L14:P16", "L20:P20", "L22:Q23", "L" & lastrow5 & ":" & "Q" & lastrow5) 

Répondre

4

Essayez comme ça ...

With ws3.Range("C8, C12, L14:P16, L20:P20, L22:Q23, L" & lastrow5 & ":Q" & lastrow5) 
+0

merci beaucoup .. Si vous pouvez aider, j'ai une autre question. Je voulais formater une cette nouvelle gamme Avec ws3.Range ("C8: C12, C9: C11, L16: P20, L17: P19, L23: Q" & lastrow5 & "L24: Q" & lastrow5 -1 & ") ..... Il donne une erreur de syntaxe. (Aussi, si vous voyez, je dis lastrow5 -1 parce que je veux la ligne avant la dernière ligne) –

+1

@PericlesFaliagas Vous êtes les bienvenus! Vous pouvez l'essayer comme ws3.Range ("C8: C12, C9: C11, L16: P20, L17: P19, L23: Q" & lastrow5 & ", L24: Q" & lastrow5 - 1) – sktneer

1

Comme IntelliSense vous dit (en supposant ws3 est déclarée As Worksheet), Worksheet.Range prend jusqu'à 2 arguments: [Cell1] et [Cell2].

Dans VBA, vous séparez les arguments en utilisant une virgule. Donc ceci:

ws3.Range("C8", "C12", "L14:P16", "L20:P20", "L22:Q23", "L" & lastrow5 & ":" & "Q" & lastrow5) 

tente d'invoquer Worksheet.Range avec 6 arguments et VBA ne sait pas quoi faire avec elle, d'où « Le nombre d'arguments ».

Si vous voulez dire pour lui donner une chaîne de plage union'd, puis give it a single string argument.