Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
588to592
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
588to592
588to592
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Array transponieren?

Array transponieren?
23.03.2005 21:59:00
Jochen
Hallo,
VBA gut ist übertrieben, aber nur mit Rekorder stimmt auch nicht.
Ich muss ein Array von der Form Array(1 to 5, 1 to x) in die Form
Array(1 to x, 1 to 5) transponieren.
Da das u.a. anderm auch in VB 6.0 funktionieren muss, kann ich nicht
über Zellen gehen oder eine Worksheetfunction verwenden.
Hat jemand eine Idee wie das gehen könnte, möglichst ohne das in zwei
Schleifen umzuschaufeln?
Grüße Jochen

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Array transponieren?
24.03.2005 07:56:49
Cardexperte
Hello Jochen,
also hier nur der Weg, ich würde 2 Schleifen machen und die einzelnen Werte dann jeweils wieder neu zuweisen, also so (nicht ausprobiert)
for Zeile=1 to 5
for Spalte=1 to x 'x der Wert der maximal vorhanden ist
cells(Spalte,Zeile).value= cells(Zeile, Spalte).value
next Zeile
next Spalte
Gruss WS
sicher dass des so geht? ;)
24.03.2005 08:11:26
c0bRa
hallo...
for Zeile=1 to 5
for Spalte=1 to x 'x der Wert der maximal vorhanden ist
cells(Spalte,Zeile).value= cells(Zeile, Spalte).value
next Spalte
next Zeile

würd ich mal eher sagen ;)
sosnt isser bei zeile 5 bevor er überhaupt in spalte 2 wechselt :)
vielleicht hilft dir der worksheets-befehl usedrange.columns.count() weiter beim definieren von X

Rückmeldung nicht vergessen...
c0bRa
Anzeige
AW: sicher dass des so geht? ;)
24.03.2005 11:01:18
Jochen
Hallo,
dass das mit zwei Scgleifen geht weiß ich, das sollte aus meiner Frage ersichtlich sein.
mMir gehts, falls möglich, um eine Alternative,
Grüße Jochen
AW: sicher dass des so geht? ;)
24.03.2005 11:05:45
c0bRa
hallo...
naja... du kannst jede der 5 zellen von spalte 5-65535 einzeln ansprechen... allerdings wird dir der VBA editor dann irgendwann sagen, dass dein sub zu groß zum ausführen ist...
was ist an schleifen so schlimm, dass man nach ner alternative sucht?

Rückmeldung nicht vergessen...
c0bRa
AW: sicher dass des so geht? ;)
24.03.2005 12:47:16
Jochen
hallo,
es geht nicht um Zellen, das wäre viel zu langsam. Ich muss Zahlen aus einer
Textdatei in ein Array splitten, sortieren und anschließend wieder in ein Textdatei
speichern. Da das u.U. mehr als 1 Mio Zeilen sein können kommt nur Array infrage.
Grüße Jochen
Anzeige
AW: sicher dass des so geht? ;)
24.03.2005 12:59:29
c0bRa
also wenns mehr wie 65335 zeilen sind kriegste mit excel sowieso ein problem...
da ist excel dann das falsche programm...
c0bRa
AW: sicher dass des so geht? ;)
24.03.2005 22:32:56
Jochen
Hallo,
von Zellen ist doch gar keine Rede. Ich will ein Array umschaufeln, ohne Zellen
zu benutzen.
Grüße Jochen
AW: sicher dass des so geht? ;)
25.03.2005 07:59:20
Cardexperte
Hello Jochen, also ich hab das ausprobiert und es geht mit diesem Code, die Tabelle wird in Tabelle2 transponiert eingetragen:

Sub transp()
Dim wert(1 To 100, 1 To 100)
x = 13
For i = 1 To x
For j = 1 To x
wert(i, j) = Cells(i, j).Value
Next j
Next i
For i = 1 To 13
For j = 1 To 13
Sheets("Tabelle2").Cells(i, j).Value = wert(j, i)
Next j
Next i
End Sub

also hier ist es mit Zellen gemacht, wenn du das Array aus einer Textdatei erstellen willst warum nicht, brauchst doch nur die Textdatei dort wo wert(i,j)= steht ersetzen durch open usw und die Werte aus der Textdatei in das Array einlesen, dazu muss man aber wissen, wie die Textdatei aufgebaut ist, die vorgehensweise bleibt immer die Gleiche!!!!
Gruss WS
Anzeige
AW: sicher dass des so geht? ;)
25.03.2005 11:40:50
Jochen
Hallo,
danke, dass das so geht weiß ich. Ich hatte gehofft, dass es eine andere Lösung
gibt, da das über eine Mio Sätze sein können. Scheinbar gibt es keine andere Lösung.
Grüße Jochen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige