Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Selection Transponieren
#1
Hallo,

wenn ich eine Auswahl von z.B. Range("D15:E30") .Select habe, wie könnte ich diese dann transponieren?
Antworten Top
#2
Hallo

am einfachsten so:  Transpose gehört in den Vorgang PasteSpecial, hier die Kurzform ohne Rechen Operationen
In die Zielzelle mit "xxx" muss noch die richtige Ziel-Adresse rein.  Die 1. Zelle Oben Links!

mfg  Gast 123

Code:
   Range("D15:E30").Copy
   Range("xxx").PasteSpecial Paste:=xlPasteAll, Transpose:=True
   Application.CutCopyMode = False
[-] Folgende(r) 1 Nutzer sagt Danke an Gast 123 für diesen Beitrag:
  • Alison
Antworten Top
#3
Hi,

Zitat:In die Zielzelle mit "xxx" muss noch die richtige Ziel-Adresse rein.  Die 1. Zelle Oben Links!
 
vielleicht bin ich zu blöd oder habe ein Brett vor dem Kopf, aber wenn ich hier als Zielzelle
D15, also den Drehpunkt der Transponierung einsetze bekomme ich ständig die Fehlermeldung
Auswahl ist ungültig. Was mache ich da falsch?
Antworten Top
#4
Hallo,

ich habe nicht damit gerechnet das in die gleiche Zelle kopiert werden soll wo die Ursprungsdaten stehen.
Nun gut, neuer Versuch über zwei Arrays.  Ich hoffe damit klappt es.

mfg Gast 123

Code:
Sub Range_Transpose()
Dim ArrSpalteD, ArrSpalteE
ArrSpalteD = Range("D15:D30").Value
ArrSpalteE = Range("E15:E30").Value

Range("D15").Resize(1, UBound(ArrSpalteD)).Value = WorksheetFunction.Transpose(ArrSpalteD)
Range("D16").Resize(1, UBound(ArrSpalteE)).Value = WorksheetFunction.Transpose(ArrSpalteE)
End Sub
Antworten Top
#5
Hallo,

man braucht dafür keine zwei Arrays.

So geht es mit einem:


Code:
Sub Range_Transpose()
  Dim arrBereich
  arrBereich = Range("D15:E30")
  Range("D15:E30") = ""
  Range("D15").Resize(UBound(arrBereich, 2), UBound(arrBereich)).Value = WorksheetFunction.Transpose(arrBereich)
End Sub
Gruß Atilla
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste