Der Titel für mein Problem ist nicht sehr sprechend - wusste keinen besseren - dafür hoffentlich meine Demo-Tabelle:
http://www.edvpeter.at/muster.htm
Die Mappe besteht aus zwei Tabellenblättern. Tabelle QUELLE enthält die ursprünglich Datenanordnung. Tabelle ZIEL enthält die Daten, wie sie NACHHER aussehen sollen.
Könnte man Mtrans() adaptiert einsetzen? Aber wie?
Danke für die Hilfe!
PS: Tabelle auch downloadbar unter: http://www.edvpeter.at/muster.xls. Enthält KEINE Makros/Module!
VBA Lösung
Hi Peter,
kenn mich mit Mtrans nicht aus.
Gruß
Reinhard
Sub Peter()
Set wsQ = Worksheets("Quelle")
Set wsZ = Worksheets("Ziel")
wsZ.Range("A1:smiley:1") = Split("KursNr Kurstitel Datum Uhrzeit")
zeiQ = wsQ.Range("A65536").End(xlUp).Row
zeiZ = 2
For n = 2 To zeiQ
For nn = 3 To wsQ.Cells(n, 256).End(xlToLeft).Column
If wsQ.Cells(n, nn) "" Then
wsZ.Cells(zeiZ, 1) = wsQ.Cells(zeiQ, 1)
wsZ.Cells(zeiZ, 2) = wsQ.Cells(zeiQ, 2)
wsZ.Cells(zeiZ, 3) = wsQ.Cells(1, nn)
wsZ.Cells(zeiZ, 4) = wsQ.Cells(n, nn)
zeiZ = zeiZ + 1
End If
Next nn
Next n
Set wsQ = Nothing
Set wsZ = Nothing
End Sub
Herzlichen Dank nochmals!
Habe die VBA-Lösung „weiterentwickelt“ und stehe jetzt bei einem Problem:
ich muss der Zeile wsZ.Cells(zeiZ, 4) = eine Zeichenkette mit fixen und dyn. Teilen zuordnen. Das ginge ja noch, wenn ich nicht so blöde ( und " in der Formel hätte, die mir dauernd den Laufzeitfehler 1004 produzieren 
Konkret handelt es sich dabei um die Formel:
=WENN(E2=„v“;„09:00“;WENN(E2=„n“;„14:00“;WENN(E2=„a“;„18:00“;"")))
Und die „2“ von dem Bezug E2 soll mit einer Variablen n in einer Schleife hochgezählt werden.
ERsuche um Hilfe
Danke - Peter
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hallo Peter,
ich muss der Zeile wsZ.Cells(zeiZ, 4) = eine Zeichenkette mit
fixen und dyn. Teilen zuordnen. Das ginge ja noch, wenn ich
nicht so blöde ( und " in der Formel hätte, die mir dauernd
den Laufzeitfehler 1004 produzieren 
=WENN(E2=„v“;„09:00“;WENN(E2=„n“;„14:00“;WENN(E2=„a“;„18:00“;"")))
Und die „2“ von dem Bezug E2 soll mit einer Variablen n in
einer Schleife hochgezählt werden.
*hmmh, versteh grad nicht alles, du willst in wsZ.Cells(zeiZ, 4) eine Formel eintragen lassen?
Und wenn zeiZ grad den Wert 2 hat soll dann dort (in Zelle zeiZ,4) die Formel
=WENN(E2=„v“;„09:00“;WENN(E2=„n“;„14:00“;WENN(E2=„a“;„18:00“;"")))
stehen (vom Makro eingetragen werden?)und wenn zeiZ den wert 3 hat soll dort dann
=WENN(E3=„v“;„09:00“;WENN(E3=„n“;„14:00“;WENN(E3=„a“;„18:00“;"")))
usw???
Versuchs mir noch mal zu erklären, vertseh auch den Fehler 1004 nicht.
In deiner Datei gabs keine Formeln. Evtl, wenn ich absolut danebenliege, lade noch mal eine Datei hoch, wo ich erkennen kann was genau du willst.
Lösen kann ich (bzw andere hier) sicher, aber im Moment habe ich k.A. was ich tun soll.
Gruß
Reinhard
DIREKT an Reinhard
Hallo Reinhard!
Wunschgemäß habe ich meine Anfrage verdeutlicht. Weil Du Dich schon so in das Problem eingearbeitet hast, habe ich Dir die Tabelle DIREKT an Deine Mailadresse geschickt.
Vielen Dank im Voraus!
Peter
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]