Brauchen Sie Hilfe?
Web:     Online-Formular
E-Mail:  
Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!
Tel:       +49(0)151 / 164 55 914

Nutzen Sie für Ihre Anfrage unser Online-Formular oder senden Sie uns eine E-Mail an Diese E-Mail-Adresse ist vor Spambots geschützt! Zur Anzeige muss JavaScript eingeschaltet sein!. Gerne können Sie aber auch direkt telefonisch Kontakt aufnehmen.

   
     Referenzen
 Bosch 
  T-Systems
  Hagebau
  Siemens
 Areva  VW
 Haufe-Lexware  British American Tobacco
  nagel group farbe
   

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      


   

Relevante Artikel

  • Kommentare aus Zellinhalten generieren

    101076 Das Makro fügt innerhalb der Selektion in jede Zelle einen Kommentar ein. Inhalt des Kommentars ist das aktuelle Datum sowie der entsprechende Zellinhalt. Sollte bereits ein Kommentar...

  • Grafiken (Bilder) über eine Wenn-Abfrage einfügen

    101077 Das folgende Makro fügt abhängig vom Inhalt der Zelle A1 eine Grafik ab der Zelle D1 ein. Steht in A1 die Ziffer 1, so wird die Grafik excel1.gif angezeigt. In jedem anderen Fall, wird die...

  • Zeilen (Einträge) abhängig vom Datum löschen

    101070 Aus diesem Datenbestand sollen die Zeilen gelöscht werden, deren Datum in Spalte A imMonat November liegt.     A B C D 1 12.08.2002 daten daten daten 2 15.08.2002 daten daten daten 3 20.08.2002...

  • Zeilen abhängig von einer bestimmten Bedingung löschen

    Bedingte Zeilenlöschung Mit diesem Makro können sie Zeilen abhängig von einer Bedingung löschen. Die Bedingung in diesem Beispiel ist der Buchstabe "x" in der ersten Spalte. Das bedeutet, wenn eine...

  • Zugriff auf Daten über VBA und Bereichsnamen

    Wenn für einen Zellbereich ein Bereichsname vergeben wurde, kann auf diesen über VBA zugegriffen, also gelesen und geschrieben werden. In diesem Beispiel wurde ein Bereich mit einer Größe von 12...

   

Excel-Inside auf Facebook Excel-Live News blog Excel-Inside RSS-Feed Twitter Account für Excel-Inside Mail an Excel-Inside 

Programmierung
Excel Auftragsprogrammierung Access Auftragsprogrammierung
Word Auftragsprogrammierung Outlook Auftragsprogrammierung
   
Unsere Produkte
Office Schulungen VBA, Excel, Access
E-Book Formeln und Funktionen Excel 2013