Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

error 1004 : Anwendungs oder objektdefinierter Fehler !?

1 view
Skip to first unread message

Holger Reppert

unread,
Oct 1, 2001, 9:37:11 AM10/1/01
to
Ich transponiere die jeweils markierte Selektion und bei kleinen Werten
funktionierts.
Vermute, daß ein Datentyp (Variant) zu klein dimensioniert ist !
Wie mach ichs besser ?
Die Stelle an ders knallt : markiert mit '''''''''''''''''''''''Hier
knallts

Holger

Public Function MirrorSelection()

Dim rs As Range
Dim rs_x As Variant
Dim rs_y As Variant
Dim rs_height As Variant
Dim rs_width As Variant
Dim arr As Variant
Dim x_counter As Variant
Dim y_counter As Variant
Dim y_destination
Dim x_destination

y_destination = InputBox("Geben Sie die y-Koordinate des Zieles ein !")
x_destination = InputBox("Geben Sie die x-Koordinate des Zieles ein !")

Set rs = Selection
rs_x = rs.Column
rs_y = rs.Row
rs_height = rs.Rows.Count
rs_width = rs.Columns.Count
ReDim arr(rs_height, rs_width)

'MsgBox rs_x & " | " & rs_y & " | " & rs_height & " | " & rs_width & " | " &
y_destination & " | " & x_destination, vbCritical


For y_counter = 1 To rs_height
For x_counter = 1 To rs_width
arr(y_counter, x_counter) = rs.Cells(y_counter, x_counter).Value
Next x_counter
Next y_counter

y_counter = 1
x_counter = 1

For y_counter = 1 To rs_height
For x_counter = 1 To rs_width

y_dest = y_destination + x_counter - 1
x_dest = x_destination + y_counter - 1

Cells(y_dest, x_dest).Value = arr(y_counter, x_counter)
'''''''''''''''''''''''Hier knallts

Next x_counter
Next y_counter

Set arr = Nothing

End Function


Holger Reppert

unread,
Oct 1, 2001, 10:24:39 AM10/1/01
to
Ich glaube, Excel hat nur 256 Spalten, deshalb machts bei 257 PENG ?
Liege ich richtig ?
Holger


Robert Gelbmann

unread,
Oct 1, 2001, 10:41:43 AM10/1/01
to
Hi Holger!

---"Holger Reppert" <holger....@mail.renocontrol.com> schrieb ...


> Ich glaube, Excel hat nur 256 Spalten, deshalb machts bei 257 PENG ?
> Liege ich richtig ?
> Holger

Der Versuch, etwas in die - nicht existierende - 257. Spalte zu schreiben,
wird selbstverständlich mit einem Laufzeitfehler geahndet ...

Aber so nebenbei:
- Markiere deinen zu transponierende Zellbereich,
- wähle Bearbeiten / Kopieren,
- markiere die obere, linke Zelle des Zielbereiches und dann
- wähle Bearbeiten / Inhalte einfügen, Transponieren (!).

--
In der Hoffnung damit behilflich gewesen zu sein, verbleibe ich mit einem
leisen

Servus aus Wien,
-Robert Gelbmann-

---
MS MVP CE for Excel
Excel-FAQ's: http://www.roehrenbacher.at/erc/faq/

0 new messages