Sub MÐÇ6()
Dim arrSource, arrTarget(1 To 10000, 1 To 1) As String
Dim i%, j%, k%, l As Byte, m As Byte, r As Byte
arrSource = [D1:is10]
For i = 1 To 10
For j = 1 To 250
If arrSource(i, j) <> "" Then
l = CByte(Left(arrSource(i, j), 1))
m = CByte(Mid(arrSource(i, j), 2, 1))
r = CByte(Right(arrSource(i, j), 1))
arrTarget(k * 10 + 1, 1) = arrSource(i, j)
arrTarget(k * 10 + 2, 1) = Right(l + 1, 1) & Right(m + 1, 1) & Right(r + 1, 1)
arrTarget(k * 10 + 3, 1) = Right(l + 2, 1) & Right(m + 2, 1) & Right(r + 2, 1)
arrTarget(k * 10 + 4, 1) = Right(l + 3, 1) & Right(m + 3, 1) & Right(r + 3, 1)
arrTarget(k * 10 + 5, 1) = Right(l + 4, 1) & Right(m + 4, 1) & Right(r + 4, 1)
arrTarget(k * 10 + 6, 1) = Right(l + 5, 1) & Right(m + 5, 1) & Right(r + 5, 1)
arrTarget(k * 10 + 7, 1) = Right(l + 6, 1) & Right(m + 6, 1) & Right(r + 6, 1)
arrTarget(k * 10 + 8, 1) = Right(l + 7, 1) & Right(m + 7, 1) & Right(r + 7, 1)
arrTarget(k * 10 + 9, 1) = Right(l + 8, 1) & Right(m + 8, 1) & Right(r + 8, 1)
arrTarget(k * 10 + 10, 1) = Right(l + 9, 1) & Right(m + 9, 1) & Right(r + 9, 1)
k = k + 1
End If
Next
Next
Range("h20:h" & Rows.Count).Clear
[h20].Resize(10000) = arrTarget
End Sub
|