PDA

Vollständige Version anzeigen : Unbekannte Anzahl von werten in eine Zelle übertragen


Setesh
12.03.2009, 08:24
Hallo liebe Experten,
ich bin Anfänger was VBA angeht und ich bräuchte unbedingt eure Hilfe. Es geht um folgendes:
Ich muss, von der Arbeit aus, einen Code schreiben der mir aus einer Tabelle bestimmte Werte entnimmt und all diese in eine Zelle schreibt. Ich weiss aber vorher nicht um wie viele Werte es sich handelt.

Beispiel: ich habe in zwei Zellen mit folgenden Werten A4 = 1001 & A24 =1400. Daraus muss ‘1001‘,‘1400‘ enstehen.(und es muss in der gleichen Zeile stehen)

Das Problem das ich dabei habe ist, dass es sich um eine unbestimmte Menge von Werten handelt. Daher kann nicht einfach für jeden Wert eine Variable bestimmen. Und ich weiss nicht wie ich diese Werte in die gleiche Zelle verketten kann.
Hier mein Code den ich bis jetzt habe:

Do Until Worksheets("Test").Cells(1, intSp) = Such_Variable
intSp = intSp + 1
Loop

Do Until Worksheets("Test").Cells(introw, 1) = ""
introw = introw + 1
Loop
introw = introw - 1

For d = 1 To introw
If Worksheets("Test").Cells(d, intSp).Value = Ord_Variable Then
Anzahl = Anzahl + 1

Variable = Worksheets("Test").Cells(d, 1).Value
Worksheets("Haupt").Cells(5, 5).Value = ("'" + Variable + "'")


Mit diesem Code wird aber der Wert in “Variable” immer überschrieben sobald ein weiterer Wert gefunden wird.
Bitte helft mir, ich komm einfach nicht weiter.

Schonmal vielen vielen Dank für eure Unterstützung

Grüße Christopher

Wilhelm1
12.03.2009, 09:09
Kannst Du bitte eine Excel Datei posten in der man sieht welche Werte wo stehen und wo nachher die Zeile sein soll in der alle Werte stehen?

EarlFred
12.03.2009, 09:12
Hallo Christopher,

die einzelnen gefundenen Werte könntest gleich in eine Gesamtvariable schreiben, die im Anschluss in die gewünschte Zelle geschrieben wird:

strNeuerWert = "gefunden"
'(1) Neuer Wert Vorne:
'strAusgabe = strNeuerWert & "; " & strAusgabe
'strAusgabe = Left(strAusgabe, Len(strAusgabe) - 2)
'(2) Neuer Wert hinten:
strAusgabe = strAusgabe & "; " & strNeuerWert
strAusgabe = Right(strAusgabe, Len(strAusgabe) - 2)

Grüße
EarlFred

Setesh
12.03.2009, 09:56
Hi,
Es funktioniert.Vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen vielen Dank für die Hilfe.

Liebe Grüße
Setesh