Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zellennamen in Array ansprechen

Forumthread: Zellennamen in Array ansprechen

Zellennamen in Array ansprechen
22.10.2019 22:18:30
oliver
Hallo zusammen
Ich würde gerne Zellennamen in einem Array definieren und dann an eine Prozedur übergeben um dann mit einzelnen Elementen des Arrays eine Schleife mehrmals durchlaufen. Die Zellen sind bereits über den Namensmanager im Tabellenblatt definiert.
Die Deklaration des Array's hätte ich z.B so gemacht
Dim Phasen() As String
Phasen(1) = "MS_Phase0"
Phasen(2) = "MS_Phase1"
Phasen(3) = "MS_Phase2"
Phasen(4) = "MS_Phase3"
Phasen(5) = "MS_Phase4"
Wie kann ich nun aber in der Prozedur das Array übergeben und dann entsprechenden Zelle ansprechen
bis anhin habe ich den Range der Prozedur übergeben und dann direkt über rng.value angesprochen. _ dies will ich aber nicht mehr da die Zellen nicht fix sind und im Tabellenblatt "wandern" können je nach dem ob eine Zeile eingefügt oder gelöscht wird.

Private Sub FormFarbenSetzen(form As String, anz As Integer, Farbe As Long, rng As Range)
Dim i, r  As Long
For i = 1 To anz
ActiveSheet.Shapes.Range(Array(form & i)).Select
If rng.Value = "f" Then
With Selection.ShapeRange.Fill
.ForeColor.RGB = Farbe
End With
Else
With Selection.ShapeRange.Fill
.ForeColor.ObjectThemeColor = msoThemeColorBackground1
End With
End If
rng = rng.Offset(1, 0)
Next
End Sub

über eure Expertise wäre ich sehr dankbar. lg oliver
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellennamen in Array ansprechen
22.10.2019 23:14:20
oliver
Habe eine Lösung gefunden
Dim Phasen(1 To 5) As String
Phasen(1) = "MS_Phase0"
Phasen(2) = "MS_Phase1"
Phasen(3) = "MS_Phase2"
Phasen(4) = "MS_Phase3"
Phasen(5) = "MS_Phase4"
Call FormFarbenSetzen("Dreieck", 4, Farbe, Phasen)
Private Sub FormFarbenSetzen(form As String, anz As Integer, Farbe As Long, rng() As String)
Dim i, r  As Long
For i = 1 To anz
ActiveSheet.Shapes.Range(Array(form & i)).Select
If Sheets("Projektplan").Range(rng(i)).Value = "f" Then
With Selection.ShapeRange.Fill
.ForeColor.RGB = Farbe
End With
Else
With Selection.ShapeRange.Fill
.ForeColor.ObjectThemeColor = msoThemeColorBackground1
End With
End If
Next
End Sub

Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige