2016-12-29 1 views
0

Je suis assez nouveau à l'utilisation des tableaux et honnêtement, je ne sais pas si c'est ce dont j'ai besoin ici. Ci-dessous un code qui fonctionne actuellement dans ma macro qui copie et colle un mois au format date sur une plage spécifiée. X représente le nombre de périodes (mois). Notez que tout ce qui suit a été simplifié pour faciliter la compréhension. La gamme calc utilise les périodes du mois pour déterminer la plage, puis la partie [valeur du tableau] est l'endroit où j'ai besoin d'aide. Fondamentalement, pour chaque mois ci-dessous, il y a 10 valeurs dans le tableau qui doivent être collées. Par exemple, Jan 2017 a 100 lignes de données au total, j'ai besoin des 10 valeurs dans le tableau pour remplir chacune 10 lignes pour Janvier remplir les 100 lignes, puis passer au mois suivant. Disons que la plage du tableau est "A1: A10" pour référence. Merci beaucoup!Comment utiliser une matrice dans-pour coller des valeurs à une plage spécifique?

For x = 1 To 3 
If Cells(3, 1) = "" Then 
Range(Cells(3, 1), Cells(3162, 1)).Value = [value from array] 
End If 
Next x 
+0

'Range (cellules (3, 1), les cellules (3162, 1)) Valeur = Application.Transpose (array)' –

+0

Merci.. Où puis-je lui dire de coller chaque valeur dans le tableau 10x? –

+0

Vous devrez faire une boucle dans le tableau et coller chaque valeur dix fois, puis descendre des dizaines de lignes et coller le suivant. Il n'y a pas de méthode rapide pour le faire. –

Répondre

1

Commencez avec ceci:

Sub foo() 
Dim arr() 
arr = Array(1, 2, 3, 4, 5, 6, 7, 8, 9) 
With ActiveSheet 
    j = 3 
    For i = 0 To UBound(arr) 
     .Range(.Cells(j, 1), .Cells(j + 9, 1)).Value = arr(i) 
     j = j + 10 
    Next i 
End With 
End Sub