Array-Bereich direkt in Zell-Bereich schreiben

Sie kennen sicherlich den gewohnten Umgang (schreiben und lesen) mit Array-Variablen. Normalerweise wird jeder Eintrag der Array-Variable einzeln referenziert.


Sub Normales_Array()
'** Dimensionierung der Variablen
Dim  strArray(5, 3) '5 Zeilen, 3 Spalten
'** Elemente in Array schreiben
For  a = 1 To 5
  For b = 1 To 3
    '** Element in Array schreiben
    strArray(a, b) = Cells(a, b).Address
  Next b
Next  a
'** Auslesen der Array-Variable
'** Beispiel: Element 3,2 auslesen = Zeile 3, Spalte 2 also Adresse B3
MsgBox strArray(3, 2)
End  Sub



Das folgende Beispiel zeigt, wie sich ein ganzer Zellbereich in einer Array-Variable ablegen und auslesen lässt, ohne dass jedes einzelne Array-Element einzeln zum Auslesen referenziert werden muss. Damit können Array-Inhalte sehr schnell ohne For-Next-Schleifen in einem Zellbereich ausgegeben werden.


Wichtig ist, dass der eingelesene Zellbereich absolut mit dem Ausgabebereich identisch ist, d.h. beide Bereiche müssen die gleiche Größe (Anzahl Zeilen und Spalten) haben.



Sub Gesamtes_Array_schreiben()
'***************************************************************************************

' Module : Modul1

' Author : Alois Eckl

' Date : 11.01.2010

' Purpose : Array-Bereich direkt in Zell-Bereich schreiben

'***************************************************************************************


'** Dimensionierung der Variablen

Dim
 arrTotal, strAdr As String
Dim
 lngZeile As Long
Dim
 lngSpalte As Long

'** Bereich löschen

Range("B5:H30").ClearContents

'** Array definieren

arrTotal = Range("B5:H30")
   
For
 lngZeile = 1 To 26 '** Zeilen 5 bis 30
  
  For lngSpalte = 1 To 7 '** Spalten B bis H
    '** Zelladresse auslsen
    strAdr = Cells(lngZeile + 4, lngSpalte + 1).Address
    
    '** Array aktualisieren
    arrTotal(lngZeile, lngSpalte) = strAdr
  
  Next lngSpalte

Next
 lngZeile

'** Gesamten Array-Bereich schreiben

Range("B5:H30") = arrTotal
   
End
 Sub      


   

Aktuell sind 35 Gäste und keine Mitglieder online

   
Twitter Account für Excel-InsideExcel-Inside auf FacebookExcel-Inside auf Linked InExcel-Live News blogExcel-Inside RSS-FeedExcel-Inside auf Xing

Excel Auftragsprogrammierung

Access Auftragsprogrammierung
Word Auftragsprogrammierung

Outlook Auftragsprogrammierung

 Maßgeschneiderte
Individuallösungen
  für Ihren Erfolg
   

Sie haben eine Frage ...
... hier geht´s zum Office Forum

Forum Office-Fragen

   
   
   
   

Forum Office-FragenOffice-Fragen.de ist das Forum rund um Microsoft Office, PALO und LibreOffice.
[Excel, Word, Outlook, Access, Visio, Office365, Office mac: u.v.m.]

Wenn Sie Fragen haben, dann können Sie diese jederzeit gerne im Forum stellen. Die anwesenden Moderatoren und ggf.
auch andere Forumsteilnehmer werden Ihre Problemstellung schnellstmöglich bearbeiten.

Möchten Sie Ihr Wissen weitergeben? Dann sind Sie selbstverständlich auch jederzeit herzlich im Forum willkommen.

Jeder registrierte Benutzer erhält das kostenlose E-Book "Die 100 wichtigsten Formeln und Funktionen" für Excel.

Registrieren Sie sich noch heute und sichern Sie sich das kostenlose Willkommensgeschenk.

» zum Forum...

   
Live tracking and statistics