Matrix Spiegeln VBA

Hallo zusammen,

ich hab mal wieder ein kleines Problem, bei dem ich leider nicht weiter komme.

Undzwar hab ich eine Matrix mir erstellt (Inhalt unwichtig) von A1:C3. Dies Matrix möchte ich nun gern kopieren und daneben gespiegelt einfügen.
Das mit dem Kopieren und dem Einfügen hab ich soweit fertig:

Sub spiegeln()
Range(„A1:C3“).Offset(0, 0).Select
Range(„A1:C3“).Copy
Range(„E1:F3“).PasteSpecial

Meine Frage ist nun wie ich diese Matrix nun spiegeln kann? Hoffe ihr habt ein paar Tipps.

Danke im Voraus

Grüße

Hallo SF,

Undzwar hab ich eine Matrix mir erstellt (Inhalt unwichtig)
von A1:C3. Dies Matrix möchte ich nun gern kopieren und
daneben gespiegelt einfügen.

um welche Spiegelachse willst du spiegeln? Beschreib das mal genauer.

Das mit dem Kopieren und dem Einfügen hab ich soweit fertig:

Sehe ich nicht so, dein Code funktioniert nicht (1004) da die Zellbereiche unterschiedlich groß sind.
Probier mal das:

Sub spiegeln()
Range(„A1:C3“).Copy Range(„E1“)
End Sub

Gruß
Reinhard

Hallo,

ja danke das klappt soweit. Hatte das auch so gemacht, jedoch eben
den Quellcode aus der falschen Tabelle kopiert …

Hab mal einen Screen gemacht, denke das ist am einfachsten so wie ich die Spieglung haben möchte …

http://www.2-mb.de/f/obm4bzpmxzy48n5uq2isz3jk6o.jpg

Hab mal einen Screen gemacht, denke das ist am einfachsten so
wie ich die Spieglung haben möchte …
http://www.2-mb.de/f/obm4bzpmxzy48n5uq2isz3jk6o.jpg

Hallo SF,

eine kleine Beispielmappe ist einfacher als ein Bild.

Sub spiegeln()
Dim FeldQ, AnzZ As Long, AnzS As Long, Z As Long, S As Long
FeldQ = Range("A1:C3")
AnzZ = UBound(FeldQ, 1)
AnzS = UBound(FeldQ, 2)
ReDim FeldZ(1 To AnzZ, 1 To AnzS)
For Z = 1 To AnzZ
 For S = 1 To AnzS
 FeldZ(Z, S) = FeldQ(Z, AnzS - S + 1)
 Next S
Next Z
Range("E1:G3") = FeldZ
End Sub

Gruß
Reinhard

danke dir vielmals, genau so hab ich mir das vorgestellt …

Top Hilfe vom Reinhard mal wieder !!!

Danke

Grüezi zusammen

Sub spiegeln()
Dim FeldQ, AnzZ As Long, AnzS As Long, Z As Long, S As Long
FeldQ = Range(„A1:C3“)
AnzZ = UBound(FeldQ, 1)
AnzS = UBound(FeldQ, 2)
ReDim FeldZ(1 To AnzZ, 1 To AnzS)
For Z = 1 To AnzZ
For S = 1 To AnzS
FeldZ(Z, S) = FeldQ(Z, AnzS - S + 1)
Next S
Next Z
Range(„E1:G3“) = FeldZ
End Sub

Man könnte natürlich auch gleich direkt kopieren… :wink:

Public Sub tr\_Mirror()
Dim rngCol As Range
Dim intI As Integer

 For Each rngCol In Range("A1:C3").Columns
 rngCol.Copy Columns(7 - intI)
 intI = intI + 1
 Next rngCol
End Sub

Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Ja, könnte man *lächel*                   o.w.T.