La commutation de Gamme à la gamme et à l'Arrière dans une Fonction VBA
Il y a beaucoup de questions, et beaucoup de réponses traitant de Gamme/Tableau de conversion en VBA. Je n'ai pas été en mesure de trouver une réponse qui fonctionne, donc je voudrais vraiment aprécier un peu d'aide.
Ci-dessous est ce que je suis en train de faire:
Function RangeToArrayToRange(inputRange As Range) As Range
Dim inputArray As Variant
inputArray = inputRange
'operations on inputArray'
'...'
Dim outputRange As Range
outputRange = inputArray
Set RangeToArrayToRange = outputRange
End Function
Merci d'avance pour votre aide!
Après avoir répondu, et puis re-lecture de votre question, je suis maintenant dans le flou sur votre besoin. Peut-être que vous pourriez essayer de l'expliquer par des mots (pas de code, puisque cela semble être l'endroit où se trouve votre problème réside). Vous ne pouvez pas convertir un tableau de variant d'une Plage, si c'est ce que vous essayez de le faire...
Je ne suis pas sûr de ce que vous demandez, mais n'oubliez pas d'utiliser le "Set" avec chaque gamme, par exemple,
S'il vous plaît ajouter plus de détails sur ce que vous voulez faire, et ce avec quoi vous travaillez (c'est à dire en une seule rangée, colonne unique, multi ligne/colonne, etc)
Je ne suis pas sûr de ce que vous demandez, mais n'oubliez pas d'utiliser le "Set" avec chaque gamme, par exemple,
Set outputRange = inputArray
.S'il vous plaît ajouter plus de détails sur ce que vous voulez faire, et ce avec quoi vous travaillez (c'est à dire en une seule rangée, colonne unique, multi ligne/colonne, etc)
OriginalL'auteur nightTrevors | 2012-06-27
Vous devez vous connecter pour publier un commentaire.
Si outputRange est le coin supérieur gauche de la cellule de la plage à être remplis:
MODIFIER: je pense que c'est ce que vous voulez faire
Vous pouvez l'utiliser sur une feuille de calcul d'une fonction définie par l'utilisateur (UDF)
Cela suppose que vous n'êtes pas modifier les dimensions (en haut/en bas de limites) de
inputArray
dans votre fonction.Voir mon commentaire à votre question: il permettrait d'améliorer votre question si vous avez ajouté une description de ce que vous essayez d'atteindre avec votre code. Que vous obtenez erreur #VALEUR me fait penser que vous essayez d'utiliser votre fonction comme une fonction sur une feuille de calcul. Si c'est le cas, vous avez juste besoin de retourner inputArray (comme une Variante) et entrez la formule en tant que formule matricielle dans une gamme de la même dimension que la gamme d'entrée.
Merci Tim! Je vais être sûr d'être plus précis la prochaine fois.
OriginalL'auteur Tim Williams