L'ajout d'un tableau dynamique en VBA
Je suis une boucle dans une plage nommée et en ajoutant un tableau en fonction de si la cellule est vide ou pas. Je ne suis pas trop familier avec les tableaux en VBA, donc peut-être que ma logique est incorrect. Le code continue d'écraser le 1er élément du tableau et il n'est jamais incrémenté. Je ne suis pas sûr de savoir pourquoi le UBound(myArray) reste toujours à 0, même après un élément a été affecté à la 1re index.
Mon code ressemble à quelque chose comme:
Dim myArray() As Double
ReDim Preserve myArray(0)
For Each cell In [myRange]
If cell <> "" Then
If UBound(myArray) > 0 Then
ReDim Preserve myArray(0 To UBound(myArray) + 1)
End If
myArray(UBound(myArray)) = cell.value
End If
Next
Vous devez vous connecter pour publier un commentaire.
Utiliser une variable incrémentée, il ne fait aucune différence si la variable est plus grande que la ubound à la fin du code:
Changement
If UBound(myArray) > 0 Then
SiUBound(myArray) >= 0 Then
qui permettra de résoudre le problème.myArray(0) = 0
UBound
sera incrémenté de après le dernier élément est entré, de sorte que vous aurez un tableau d'une taille plus grande que la plage de valeurs.