Excel-Inside Newsletter


Empfange HTML?

Wir haben 34 Gäste online

 

- Preiswert und schnell -
Stellen Sie Ihre Anfrage,
wir unterbreiten Ihnen gerne
ein kostenloses Angebot.
Weiterlesen ...

Pay a Coffee

Möchten Sie uns uns einen Betrag zur Deckung der Kosten spenden oder weil Sie von der Seite begeistert sind, dann klicken Sie bitte auf die Schaltfläche.

Follow Excel Inside
   


   RSS-Feed abbonieren 

Anmeldung

Angemeldeten Besuchern steht weitere Funktionen wie der Zugriff auf den Online- Shop und das Office 2010- Forum zur Verfügung.



Übersetzen der Seite nach:


Länder

71.6%Germany Germany
14.3%United States United States
4.9%Austria Austria
4.7%Switzerland Switzerland
1%United Kingdom United Kingdom

Besucher

Total: 1782718


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      

 

Download Beispieldatei