J'essaie de prendre une liste grossière de données, puis de la copier dans un format organisé pré-formaté. Pour ce faire, j'ai la liste brute configurée pour que chaque élément de la liste soit numéroté dans l'ordre, peu importe s'il y a des espaces entre les éléments. La macro que j'essaie de faire prendra cette liste grossière et la copiera dans le formulaire sans espace. Ours avec moi, j'ai essayé de m'enseigner Visual Basic, donc le code que j'ai peut être ... désordonné. À l'heure actuelle, le problème que j'ai est que je reçois un débordement sur i = i + 1.Vérifiez si une valeur est présente, puis copiez-la dans une autre feuille de calcul
Sub Print_Sheet_Populate()
'
' Print_Sheet_Populate Macro
' Takes Items from Raw Data sheet and puts them in Print Sheet sheet.
'
'
Dim wsS1 As Worksheet
Dim wsS2 As Worksheet
Dim ending As Long
Dim copy() As Long
Dim i As Long
Set wsS1 = Sheets("Raw Data")
Set wsS2 = Sheets("Print Sheet")
With wsS1.Range("A:A") 'To copy the item numbers in the rough data to an array
i = 1
Set c = .Find(i, LookIn:=xlValues)
If Not c Is Nothing Then
ReDim copy(i)
copy(i - 1) = c.Value
Do
i = i + 1
ending = i
Loop While Not c Is Nothing
End If
End With
With wsS2.Range("A24:A324") 'To paste the data from the array to the form
i = 1
If Not i = ending Then
Do
Worksheets("wsS2").Range("A" & i).Value = copy(i - 1)
i = i + 1
Loop While Not c Is Nothing
End If
End With
End Sub
C'est fait, merci EEM! –
Content de t'aider! Avez-vous essayé de remplacer la première première boucle avec une sorte de données, et de remplacer la deuxième boucle par quelque chose comme ça 'Range.resize (ubound (tableau), ubound (array, 2)). Value = Array' pour afficher le tableau entier à la fois? – EEM