Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1748to1752
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

zweidimensionales Array

zweidimensionales Array
06.04.2020 10:13:25
Simon
Hallo zusammen,
ich habe bei folgender Idee Schwierigkeiten:
In einem Tabellenblatt habe ich eine Skala mit Werten. Diese Werte schreibe ich in ein eindimensionales Array.
Hinter jedem dieser Werte steckt allerdings auch eine Farbe, die ich gerne mit in das Array schreiben würde, nur fehlt mir gerade die nötige Kenntnis dazu, das umzusetzen. Vielleicht habt ihr ja eine Idee dazu.
In dem Code seht ihr zumindest schon die Deklaration die ich gerne dafür verwenden würde.
Vielen Dank im Voraus
Simon Klein

Sub Test()
Dim arrSkala()
Dim arrSize As Integer
Dim arrFarbe As String
Dim ws As Worksheet
Dim i, j As Integer
j = 7
Set ws = Worksheets("West")
arrSize = Application.WorksheetFunction.CountA(ws.range("G7:K7"))
ReDim arrSkala(arrSize, arrFarbe)
For i = 0 To arrSize
arrSkala(i) = ws.Cells(7, j)
j = j + 1
Next i
End Sub

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: zweidimensionales Array
06.04.2020 10:55:13
Nepumuk
Hallo Simon,
so:
Sub Test()
    
    Dim arrSkala()
    Dim arrSize As Long
    Dim ws As Worksheet
    Dim i As Long, j As Long
    
    j = 7
    Set ws = Worksheets("West")
    arrSize = Application.WorksheetFunction.CountA(ws.Range("G7:K7"))
    
    Redim arrSkala(1 To arrSize, 1)
    
    For i = 1 To arrSize
        arrSkala(i, 0) = ws.Cells(7, j).Value
        arrSkala(i, 1) = ws.Cells(7, j).Interior.Color
        j = j + 1
    Next i
    
End Sub

Gruß
Nepumuk
Anzeige
AW: zweidimensionales Array
06.04.2020 11:36:01
Simon
Hallo,
danke für die Antworten.
@Daniel: Anmerkungen zur Kenntnis genommen, Danke :D
Wenn ich so mache wie du sagst, müsste ich die beiden Arrays dann zusammenführen, weil ich den jeweiligen Wert und die Farbe im selben Moment brauchen werde.
@Nepumunk: Das funktionier wie gewünscht, besten Dank :D
VG
Simon
AW: zweidimensionales Array
06.04.2020 11:30:02
Daniel
Hi
Warum nicht einfach ein zweites Array für die Farbe?
Dieses genauso dimensionieren wie das WerteArray und dann in der Schleife die Farbwerte zuweisen.
arrFarbe(i) = ws.Cells(7, j).interior.Color
Bzw, deine Variablendeklaration enthält fast mehr Fehler und Irrtümer als Variablen.
Dim i, j As Integer
Dies deklariert nur j als integer und i als Variante.
In VBA muss man bei jeder Variable den Typ zuweisen, auch wenn man mehrere Variablen in einer Zeile deklariert.
Dim arrSize As Integer
Dim arrFarbe As String

Wenn du schon Präfixe in der Variablenbenennung verwendest, dann sollten die auch sinnvoll sein.
"arr" bedeutet, dass die Variable ein Array enthält, deswegen ist es Unsinn, das Präfix "arr" für einen Einzelwert zu verwenden.
Dim arrFarbe As String
So wie du arrFarbe später verwendet, müsste es eine Ganzzahligen sein, also Int oder Long.
Gruß Daniel
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige