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

Einfache Wertzuweisung?

Forumthread: Einfache Wertzuweisung?

Einfache Wertzuweisung?
05.11.2003 16:46:44
Frank
Hallo,

ich habe ein Tabellenblatt mit 6 Blöcken von wiederkehrenden Daten:

Menge1, Bezeichnung1, Anzahl1, Preis1,...
...
Menge6, Bezeichnung6, Anzahl6, Preis6,...

Der Einfachheit halber habe ich die Zellen, in denen die Daten stehen, mit gleichlautenden Namen versehen.

Jetzt möchte ich die Inhalte dieser Zellen in entsprechende Arrays einlesen:

Dim mengen(6) as Integer
mengen(1) = Range("Menge1").Value
...
mengen(6) = Range("Menge6").Value
[analog für Bezeichnung,...]

Anschließend muß ich die Werte aus diesen Variablen zu einem String konkatenieren. (also Wert aus Menge1,Wert aus Bezeichnung1,... hintereinander weg).

Das wird natürlich auf die Dauer etwas lästig, wenn man für jedes Array 6 Zeilen Zuweisung braucht. Im Moment hab ich grad einen Aussetzer: Es gibt doch da bestimmt eine schnellere Lösung, oder?

Danke im Voraus!
Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Einfache Wertzuweisung?
05.11.2003 17:49:21
Tino Schaltke
Hi,

versuch mal dies hier (ist aber nicht getestet)


Sub proggy()
dim x as integer, y as integer
dim mengen(6) as integer, bezeichnung(6) as string '(usw)
dim xstring(6) as string 'der komplette String
dim pre as variant
pre = array("Menge", "Bezeichnung", "Anzahl", "Preis", "...") 'Deine Felder OHNE Zahl
for x = 1 to ubound(pre-1) '... oder Anzahl Felder hier eintragen)
for y = 1 to 6
mengen(y) = range(pre(x-1) & y).value
bezeichnung(y) = range(pre(x-1) & y).value
'... hier dann noch Anzahl, Preis, usw. wie oben
next y
next x
for y = 1 to 6
xstring(y) = mengen(y) & bezeichnung(y) '& ... die weiteren Felder
next y
End Sub


Ist mal ein kleiner Ansatz...
Gruß
Tino
Anzeige
AW: Einfache Wertzuweisung?
06.11.2003 09:20:31
Frank
Hallo Tino,

erstmal danke für den Lösungsansatz. Wenn ich allerdings das Script so nehme wie von Dir aufgeschrieben, wird im ersten Durchlauf der Wert von "mengen(1)" den Variablen "partnumber(1)" und "bezeichnung(1)" zugewiesen, beim zweiten Durchlauf dann entsprechend denen mit Suffix 2 usw., was natürlich falsch ist...

Ich hab das ganze wie folgt abgeändert:

Option Base 1

Sub proggy()
Dim mengen(6) As Integer
Dim partnumber(6) As String
Dim bezeichnung(6) As String '
Dim pre As Variant
Dim y%
pre = Array("Menge", "Teilenummer", "Bezeichnung", " ... ")    'Die Felder OHNE Zahl
For y = 1 To 6
mengen(y) = Range(pre(1) & y).Value
partnumber(y) = Range(pre(2) & y).Value
bezeichnung(y) = Range(pre(3) & y).Value
' die restlichen Felder analog
Next y
' später das Zusammensetzen
End Sub


Vielleicht gibt es noch ne Möglichkeit, das ganze nochmals zu verkürzen, aber vom Prinzip her reicht das schon so aus. Vielen Dank!!

Frank
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