HSV
Inventaris
- Lid geworden
- 18 jul 2008
- Berichten
- 20.981
- Office versie
- Bèta Insider Office 365
Hallo Hugo,
Het is gelukt met de hulp van @snb om de array in een keer weg te schrijven.
De 'Typename' variant() in string() veranderen maakt het verschil.
Hieronder de code zoals @snb het heeft herschreven.
Die wilde ik je natuurlijk niet onthouden.
Het is gelukt met de hulp van @snb om de array in een keer weg te schrijven.
De 'Typename' variant() in string() veranderen maakt het verschil.
Code:
Sub hsvineens()
Dim sn, i As Long, j As Long, jj As Long
sn = Sheets(1).Cells(1).CurrentRegion.Offset(1)
ReDim arr(UBound(sn))[COLOR=#FF0000] As String[/COLOR]
For i = 1 To UBound(sn)
For j = i To i + 3
If j + jj < UBound(sn) Then
arr(i - 1) = arr(i - 1) & Join(Application.Index(sn, j + jj), "|") & "|"
jj = jj + 10
End If
Next j
jj = 0
Next i
With Sheets(2)
.Cells(1).Resize(UBound(sn)) = Application.Transpose(arr)
.Columns(1).TextToColumns , , , , , , , , -1, "|"
End With
End Sub
Hieronder de code zoals @snb het heeft herschreven.
Die wilde ik je natuurlijk niet onthouden.
Code:
Sub M_snb()
Dim sn, sp, j As Long, jj As Long
sn = Sheets(1).Cells(1).CurrentRegion
sp = Split(Space(10))
For j = 0 To UBound(sp)
For jj = j + 2 To UBound(sn) Step 10
sp(j) = sp(j) & Join(Application.Index(sn, jj), "|") & "|"
Next
Next
With Sheets(2)
.Cells(1).Resize(UBound(sp)) = Application.Transpose(sp)
.Columns(1).TextToColumns , , , , , , , , -1, "|"
End With
End Sub