title image


Smiley hm, hätte hier einen völlig anderen Ansatz als globale Variable
Hallo liebe Excellenten,



den von Zitronensauce befürchteten Performanceverlust

gibt es eigentlich nicht, zumindest bliebe er bei 2000 Datensätzen recht unbedeutend.



Zellbereiche, die einem Array entsprechen,

kann man in einer Befehlszeile an eine Variable übergeben -

oder umgekehrt. Dies bedeuted mehr Freiheit bei der Programmentwicklung - ausserdem sind globale Variablen

mit Vorsicht zu geniessen (ich glaube Ullrich unterlag keiner Sinnestäuschung). Ich jedenfalls setze globale Variable nur sehr sparsam ein.



Sub ArrayTabEingabeOhneCellsLoop()

' Deklariert eine Matrix mit 2000 Zeilen und 4 Spalten

Dim x(1 To 2000, 1 To 5)



' Zellbereich mit etwas befüllen

For j = 1 To 2000

x(j, 1) = "Alt" & j

x(j, 2) = "Neu" & j

x(j, 3) = "Wert1_" & j

x(j, 4) = "Wert2_" & j

x(j, 5) = "Wert3_" & j

Next j



' Überträgt die gesamte Matrix

Range(Cells(1, 1), Cells(2000, 5)) = x

End Sub





Sub ArrayTabAusgabeOhneCellsLoop()

Dim x



' Überträgt die gesamte Matrix an eine Variant-Variable

x = Range(Cells(1, 1), Cells(2000, 5))



' Jetzt wäre Loop über L/Ubound möglich

MsgBox x(1000, 1) & " " & x(1000, 2) & " " & x(1000, 3) & " " & x(1000, 4) & " " & x(1000, 5)

End Sub



Viel Spass



Günther





geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: