Anzeige
Archiv - Navigation
972to976
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
972to976
972to976
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Schleifenzugriff auf Konstanten

Schleifenzugriff auf Konstanten
07.05.2008 12:32:00
Thommes
Hi zusammen,
ich hab mittlerweil in vielen Foren recherchiert, konnte aber bisher nur die Frage entdecken, leider keine passende Antwort!?!
Ich hätte gerne mehrere Konstanten deklariert und später über eine Schleife auf diese Konstanten zugegriffen:

Sub Zugriff()
Const Konstante1 = "Äpfel"
Const Konstante2 = "Birnen"
Const Konstante3 = "Kirschen"
i = 1
do while i 


In alten Excel 4.0-Makros gab es dafür die INDIREKT-Funktion. Wie funktioniert sowas mit VBA?
Vielen Dank für die Unterstützung bereits im Voraus
Thommes

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Schleifenzugriff auf Konstanten
07.05.2008 12:48:00
Bertram
Hallo Thommas,
meinst du so?

Sub KonstantenEintragen()
Dim DeineFruechte()
Dim i As Integer
DeineFruechte = Array("Äpfel", "Birnen", "Kirschen")
For i = 0 To UBound(DeineFruechte())
Cells(i + 1, 1).Value = "Konstante " & i + 1 & ":"
Cells(i + 1, 2).Value = DeineFruechte(i)
Next
End Sub


Gruß
Bertram

AW: Schleifenzugriff auf Konstanten
07.05.2008 12:48:43
Rudi
Hallo,
nimm ein Array
dim Obst(1 to 3)
Obst(1)="Äpfel"
Obst(2)="Birnen"
Obst(3)="Trauben"
For i=1 to 3
Msgbox Obst(i)
next
Gruß
Rudi

AW: Schleifenzugriff auf Konstanten
07.05.2008 12:51:32
Erich
Hallo Thommes,
hier meine zwei Vartianten (eine ist jetzt wohl schon da...):

Option Explicit      ' immer zu empfehlen
' wenn in den Konstanten keine Leerzeichen vorkommen
Sub Zugriff1()
Dim arrK, i As Long
arrK = Split("Äpfel Birnen Kirschen")
For i = 0 To UBound(arrK)
Cells(i + 1, 1).Value = arrK(i)
Next i
End Sub
' wenn in den Konstanten Leerzeichen vorkommen
Sub Zugriff2()
Dim arrK, i As Long
arrK = Array("Äpfel", "Birnen", "Kirschen")
For i = 0 To UBound(arrK)
Cells(i + 1, 2).Value = arrK(i)
Next i
End Sub

Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort

Anzeige
AW: Schleifenzugriff auf Konstanten
07.05.2008 14:12:00
Thommes
Herzlichen Dank für alle drei Vorschläge mit Arrays.
Ich brauch allerdings an vielen anderen Stellen die Konstanten auch "direkt", d.h. der VBA-Code ist voll von Konstante1, Konstante2, usw. Ich wollte drumrum kommen, dies alles in Konstante(1), Konstante(2) abzuändern, nur damit diese eine Schleife klappt.
Aktuell sieht bei mir der Code deshalb so aus:

Sub Zugriff()
Const Konstante1 = "Äpfel"
Const Konstante2 = "Birnen"
Const Konstante3 = "Kirschen"
cells(1,1).value = "Konstante 1:")
cells(1,2).value = Konstante1
cells(2,1).value = "Konstante 2:")
cells(2,2).value = Konstante2
cells(3,1).value = "Konstante 3:")
cells(3,2).value = Konstante3
End Sub


Find ich halt nicht ganz so geschickt, "früher" konnt man das halt mit INDIREKT eleganter machen!

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige