AW: Aha...
22.05.2017 14:49:15
Michael
...ich verstehe ;-). Das würde ich ggf. so lösen:
Erstelle Dir eine persönliche Makro-Arbeitsmappe (sofern nicht vorhanden).
1) Öffne Excel und starte den Makrorekorder
2) Vergib einen Namen, zB "AndiTransponieren" und
3) vergib als Tastenkombination zB Ctrl + Shift + t (für Transponieren ;-)) und
4) Gib bei "Makro speichern in" an "Persönliche Makroarbeitsmappe".
5) Beende nun direkt die Makroaufzeichnung
6) Öffne mit Alt + F11 die VBA-Umgebung und führe oben links, in der Explorer-Ansicht, einen Doppelklick auf "VBAProject(PERSONAL.XLSB) aus, darunter einen Doppelklick auf Module, dann noch einen auf Modul1
7) Dort sollte dann in etwa das stehen:
Sub AndiTransponieren()
' AndiTransponieren Makro
' Tastenkombination: Strg+Umschalt+T
End Sub
8) Füge nun vor dem "End Sub" folgenden Code ein (Copy-Paste):
Dim r As Range, c As Range
Set r = Selection: Set c = r(1)
If r.Columns.Count > 1 Or r.Rows.Count > 6 Then Exit Sub
Application.ScreenUpdating = False
r.Copy: r.Offset(, 1).Resize(1, 1).PasteSpecial Transpose:=True
r.Clear: Set r = Selection: r.Cut c: r(1).Select
Application.CutCopyMode = False
9) D.h. vollständig steht dann dort in etwa:
Sub AndiTransponieren()
' AndiTransponieren Makro
' Tastenkombination: Strg+Umschalt+T
Dim r As Range, c As Range
Set r = Selection: Set c = r(1)
If r.Columns.Count > 1 Or r.Rows.Count > 6 Then Exit Sub
Application.ScreenUpdating = False
r.Copy: r.Offset(, 1).Resize(1, 1).PasteSpecial Transpose:=True
r.Clear: Set r = Selection: r.Cut c: r(1).Select
Application.CutCopyMode = False
End Sub
10) Schließe alle Excelfenster und bestätige die Nachfrage (soll die persönliche ... gespeichert werden) mit "ja".
11) Öffne Excel und füge, wie bisher, Deinen Adressblock ein. Nach dem Einfügen ist dieser Block markiert/ausgewählt - drücke jetzt Ctrl + Shift + T, et voila, das Transponieren sollte nun, Deinem Wunsch entsprechend funktioniert haben. Dieses Makro macht nichts, wenn der ausgewählte Bereich mehr als 1 Spalte oder mehr als 6 Zeilen haben sollte (zur Sicherheit ;-)).
Diese Funktion steht Dir nun immer beim Starten in Excel zur Verfügung, in jeder Mappe. Deine persönliche Makroarbeitsmappe findest Du üblicherweise an diesem Pfad: C:\Users\DeinUserName\AppData\Roaming\Microsoft\Excel\XLSTART - wenn Du sie löschst, wird sie nicht mehr beim Starten von Excel geladen und die Makros darin stehen Dir nicht mehr zur Verfügung.
Klappt?
LG
Michael