Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Problem bei For-Next-Schleife

Problem bei For-Next-Schleife
17.12.2020 20:38:50
Alex
Hallo zusammen,
ich habe noch nicht allzu viel Erfahrung mit VBA, habe es aber geschafft mir eine kleine Arbeitshilfe zu erstellen und würde nun gerne den Code etwas vereinfachen, um besser den Überblick behalten zu können, wenn ich hin und wieder etwas ergänze oder ändere. Eigentlich spielt sich das ganze in Word ab, ich hoffe aber ihr könnt mir trotzdem ein paar Tips geben. Ich denke nicht, dass es sich um ein word-spezifisches Problem handelt.
Aktuell habe ich folgenden Code:

ActiveDocument.FormFields("Name1").Result = strBis1
ActiveDocument.FormFields("Name2").Result = strBis2
ActiveDocument.FormFields("Name3").Result = strBis3
ActiveDocument.FormFields("Name4").Result = strBis4
ActiveDocument.FormFields("Name5").Result = strBis5
ActiveDocument.FormFields("Name6").Result = strBis6
ActiveDocument.FormFields("Name7").Result = strBis7

Nun würde ich das Ganze gerne mit einer For-Next-Schleife lösen. Hier bisheriger Ansatz:

For intA = 1 To 7
ActiveDocument.FormFields("Name" & intA).Result = strBis
Next intA

Ich bekomme es einfach nicht hin, dass beim ersten Durchgang die Variable strBis1, beim zweiten Durchgang die Variable strBis2 usw. in das jeweilige Formularfeld geladen wird.
Kann mir jemand von euch sagen, wie ich das realisieren kann?
Viele Grüße
Alex
Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Problem bei For-Next-Schleife
17.12.2020 20:40:56
Hajo_Zi
Hallo Alex,
ActiveDocument.FormFields(Controls("Name" & intA)).Result = strBis
ich bin nicht der Word Fachmnann.

AW: Problem bei For-Next-Schleife
17.12.2020 21:05:01
onur
Mit einem ARRAy statt strBis.
Dim i, strBis
strBis=Array("Lesezeichen1","Lesezeichen2","Lesezeichen3" .....)
For i = 0 To 6
ActiveDocument.FormFields("Name" & i+1).Result = strBis(i)
Next intA

Anzeige
AW: Problem bei For-Next-Schleife
18.12.2020 09:54:38
Alex
Guten Morgen onur,
Ich habe es noch nicht ganz geschafft mein Problem mit deinem Ansatz zu lösen. So sieht das Ganze jetzt bei mir aus:
Dim i, strBis
strBis = Array("strBis1", "strBis2", "strBis3", "strBis4", "strBis5", "strBis6", "strBis7")
For i = 0 To 6
ActiveDocument.FormFields("Name" & i + 1).Result = strBis(i)
Next i

So werden allerdings die Formularfelder Name1 bis Name7 mit strBis1 bis strBis7 gefüllt. strBis1 bis strBis7 sind allerdings Variablen und der Inhalt dieser Variablen soll in den Formularfeldern erscheinen, nicht der Name.
Ich hoffe es ist einigermaßen nachvollziehbar was ich meine.
Viele Grüße
Alex
Anzeige
AW: Problem bei For-Next-Schleife
18.12.2020 13:22:17
onur
Du sollst nicht strBis1 usw sondern die Namen der Lesezeichen ins Array schreiben.
AW: Problem bei For-Next-Schleife
18.12.2020 13:22:18
onur
Du sollst nicht strBis1 usw sondern die Namen der Lesezeichen ins Array schreiben.
AW: Problem bei For-Next-Schleife
18.12.2020 13:22:20
onur
Du sollst nicht strBis1 usw sondern die Namen der Lesezeichen ins Array schreiben.
Anzeige
AW: Problem bei For-Next-Schleife
18.12.2020 13:22:20
onur
Du sollst nicht strBis1 usw sondern die Namen der Lesezeichen ins Array schreiben.
AW: Problem bei For-Next-Schleife
18.12.2020 16:54:51
Yal
Hallo Alex,
irgendwo hast Du diese Variablen strBis.. initialisiert, spricht mit Werte befüllt.
Also anstatt
strBis1 = "a"
strBis2 = "b"
strBis3 = "c"
(oder was auch als string reinkam)
Die Initialisierung kann auf 2 Methode gemacht werden:
1. En Block
strBis = Array ("a", "b", "c", ..)
2. Einzel
strBis(1) = "a"
strBis(2) = "b"
strBis(3) = "c"
Note: ein Array mit 7 "Plätze" nummeriert diese von 0 bis 6. Wenn Du eine Nummerierung 1 bis 7 haben möchtest, muss Du entweder bei der Definition
Dim strBis (1 To 7) as String

oder bei einer undimensionerten Definition, bei der Redimensionierung
Dim strBis() as String
ReDim strBis (1 To 7)
Viel Erfolg
Yal
Anzeige
AW: Problem bei For-Next-Schleife
21.12.2020 19:53:50
Alex
Hallo Yal,
vielen Dank für deine Erklärung. Das mit dem Array habe ich soweit verstanden, denke ich.
Die Variablen werden aber, abhängig von verschiedenen Bedingungen, unterschiedlich gefüllt. Ich glaube das funktioniert so dann nicht so ohne weiteres mit einem Array.
Durch das Herumprobieren, habe ich aber gemerkt, dass ich die Variablen gar nicht brauche und habe die ganze Stelle Code weglassen können. Das Problem hat sich also, zumindest erst einmal erledigt.
Viele Grüße
Alex
Anzeige
AW: Problem bei For-Next-Schleife
18.12.2020 09:50:59
Alex
Guten Morgen,
der Ausdruck "Name" & intA innerhalb der Klammer in meinem Ansatz funktioniert. Das Problem müsste bei den Variablen strBis1 bis strBis7 liegen.
Ich habe bei meinem ursprünglichen Ansatz die Zahl hinter strBis vergessen. Deswegen war wohl nicht ganz klar, was ich versuche. Das ist mein Ausgangsansatz:
For intA = 1 To 7
ActiveDocument.FormFields("Name" & intA).Result = strBis1
Next intA
Meine Idee war, die 1 hinter strBis durch intA zu ersetzen. Daran scheitere ich jedoch bis jetzt.
Viele Grüße
Alex
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
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