Exel Array Geschwindigkeit
16.05.2013 12:13:01
Dirk
ich hab mir da ein kleines VBA Programm in Excel geschrieben welches mir aus einem Blatt einen Bereich heraus liest und auf ein anderes wieder schreibt.
Doch beim Schreiben brauch Excel zu lange!
Alp() gibt nur ein Buchstaben zurück welche auch über eine For-Schleife aus einem Blatt heraus gelesen wir. (1-Dimensionales Array)
Hier mal der Code zum heraus lesen:
Public Function f45lpz(ByVal a, ByVal b As Integer) As String
Dim g(3, 25) As String
Dim c, d, e, f As Integer
f = 0
For e = 1 To 25 'Zeile
d = 0
For c = 3 To 6 'Spalte
g(d, f) = Worksheets("DB-PM-Module").Range(Alp(c) & e)
d = d + 1
Next
f = f + 1
Next
f45lpz = g(a, b)
End Function
Und hier der Code Welcher mir ihn wieder schreibt
Public Sub f45lpzort()
Dim a, b, c, d As Integer
c = 0 'Array Zeile
d = 0 'Array Spalte
For b = 1 To 24
For a = 1 To 3
Select Case a
Case 1: Range(Alp(a) & b) = f45lpz(d, c) & f45lpz(a, c)
Case 2: Range(Alp(a) & b) = f45lpz(a, c)
Case 3: Range(Alp(a) & b) = f45lpz(a, c)
End Select
Next
c = c + 1
Next
End Sub
Was mache ich da falsch bin schon darauf gekommen das ich die For-Schleife bei jedem Schreibvorgang wieder neu aufrufe doch habe ich keinen Schimmer wie ich das Array an die Function übergeben könnte. Wenn es überhaupt daran liegt :)