Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1616to1620
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

VBA Code für Text Variablen

VBA Code für Text Variablen
04.04.2018 11:01:58
Sven
Guten Tag,
ich hoffe ihr könnt mir helfen, ich versuche mich in letzter Zeit ein bischen mit VBA und habe da auch schon einiges gelernt. :-)
nun stehe ich vor einem Problem wo mir einfach keine Lösung einfällt, ich aber glaube das VBA dafür wie gemacht ist.
Also ich habe in einer Arbeitsmappe zwei Arbeitsblätter, Das eine heist "Auswertung" und das andere heißt "Hilfe".
Auf dem Arbeitsblatt "Hilfe" habe ich eine Tabelle in der ich von C8 - F8 Zahlen für Ausgänge eintragen kann, und von C10 - F10 Zahlen für Tore. Die Zahlen sind folgend jedoch ist der erste Zahl nicht immer die gleiche.
Des Weiteren sind auch nicht immer alle 4 Felder aus gefüllt, aber niemals in der Mitte leer.
Also kann sein das steht Ausgang C8=4, D8=5, E8=6, F8=7, und Tor C10=1, D10=2.
Nun möchte ich im Arbeitsblatt "Auswertung" in den Zellen AD13 bis AS13 folgenden sich selbst aufbauenden Text. Beispiel AD13 soll stehen Ausgang + Zahl aus C8 in "Hilfe" / Tor + Zahl aus C10 in "Hilfe".
In der nächsten Zelle dann D8 und C10 aber auch nur wenn in D8 noch was steht, ansonsten C8 und D10 aber auch nur dann wenn in D10 noch etwas steht.
Es gibt also mindestens eine Kombination, in dem Fall wenn in Ausgang und Tor nur eine Zahl steht und höchstens 16 Kombinationen, in dem Fall wenn in Ausgang und Tor jeweils 4 Zahlen stehen.
Deshalb AD bis AS, also maximal 16 Zellen. Es müssen nicht alle ausgefüllt sein.
Bei dem Textzusammenbau soll in der Reihe Tor erst ein weiter gegangen werden wenn jede Zahl aus der Reihe Ausgang mit der ersten Zahl von Tor Kombiniert wurde.
Ich hoffe das ist jetzt nicht zu verwirrend.
Gruß Sven

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Code für Text Variablen
04.04.2018 13:11:59
Bernd
Servus,
so in der Art?

Sub test()
Dim i As Integer
Dim j As Integer
Dim a As Integer
Dim intZahl As Integer
Dim intTor As Integer
Dim intLZZahl As Integer
Dim intLZTor As Integer
intLZZahl = Sheets("Hilfe").Cells(8, Columns.Count).End(xlToLeft).Column
intLZTor = Sheets("Hilfe").Cells(10, Columns.Count).End(xlToLeft).Column
a = 30
For i = 3 To intLZZahl
intZahl = Sheets("Hilfe").Cells(8, i).Value
For j = 3 To intLZTor
intTor = Sheets("Hilfe").Cells(10, j).Value
Sheets("Auswertung").Cells(13, a).Value = "Ausgang: " & intZahl & "; Tor: " & intTor
a = a + 1
Next j
Next i
End Sub
Grüße, Bernd
Anzeige
AW: VBA Code für Text Variablen
04.04.2018 14:37:50
Sven
Hallo Bernd,
ja genau so in der Art :-) So hatte ich mir das vorgestellt habe. Vielen Dank erstmal.
Ich möchte das jetzt noch so machen das sich das jedes mal wenn ich in der Tabelle Ausgang /Tor eine Zahl ändere oder rauslösche dieser Code automatisch aufgerufen wird. Das bekomme ich so weit hin.
Jedoch wenn ich jetzt weniger Kombinationen als vorher habe bleiben die Zellen in "Ausgang" die nicht neugestaltet werden so wie sie waren. Kann ich jetzt einfach in den Code am Anfang z. B.
Sheets("Auswertung").Range("AD13:AS13").ClearContents
eingeben und er löscht die Zeilen jedesmal vorher, oder gibt es da eine elegantere Lösung?
Gruß Sven
Anzeige
AW: VBA Code für Text Variablen
04.04.2018 15:22:30
Bernd
Servus Sven,
ja, genau wie du vorschlägst würde ich es auch machen...

Sub test()
Dim i As Integer
Dim j As Integer
Dim a As Integer
Dim intZahl As Integer
Dim intTor As Integer
Dim intLZZahl As Integer
Dim intLZTor As Integer
Sheets("Auswertung").Range("AD13:AS13").ClearContents

intLZZahl = Sheets("Hilfe").Cells(8, Columns.Count).End(xlToLeft).Column
intLZTor = Sheets("Hilfe").Cells(10, Columns.Count).End(xlToLeft).Column
a = 30
For i = 3 To intLZZahl
intZahl = Sheets("Hilfe").Cells(8, i).Value
For j = 3 To intLZTor
intTor = Sheets("Hilfe").Cells(10, j).Value
Sheets("Auswertung").Cells(13, a).Value = "Ausgang: " & intZahl & "; Tor: " & intTor
a = a + 1
Next j
Next i
End Sub
Durchlaufen werden die Schleifen sowieso, also werden auch alle Werte "neu" eingetragen...
Eleganz wird überbewertet, solang du den Code selbst verstehst ;-)
Grüße, Bernd
Anzeige
AW: VBA Code für Text Variablen
04.04.2018 15:49:50
Sven
Hallo Bernd,
dann vielen Dank für deine Hilfe. Jetzt funktioniert es so wie ich es möchte.
Gruß Sven
AW: VBA Code für Text Variablen
04.04.2018 16:22:31
Sven
Hallo Bernd,
mir ist gerade noch etwas aufgefallen was nicht ganz funktioniert bei dem Code. Und zwar sobald in der Tabelle auf Blatt "Hilfe" unterschiede in der Anzahl von Ausgang und Tor besteht.
Wenn in bei Tor z.B. 1-4 drin steht aber bei Ausgang nur 1-2.
Dann steht im Blatt "Auswertung" wo Ausgang 1 Tor 3 stehen sollte, stattdessen Ausgang 1 Tor 0.
Woran könnte das liegen?
AW: VBA Code für Text Variablen
05.04.2018 14:32:20
Bernd
Servus Sven,
ich kann dir leider nicht folgen?!
Lade bitte mal deine Datei hoch, dann kann ich das vielleicht besser nachvollziehen.
In meiner Beispielmappe funktioniert es wie gewünscht.
https://www.herber.de/bbs/user/120872.xlsm
Grüße, Bernd
Anzeige

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige