3.5k Aufrufe
Gefragt in Tabellenkalkulation von ponscho Mitglied (323 Punkte)
Hallo @ all,

Gibt es ein Makro das mir die Werte, die in Spalten nebeneinander stehen
img229.imageshack.us/i/aufnahme1k.jpg/

im nächsten Tabellenblatt 'Ergebnis', in Spalte A mit jeweils einer Leerzeile nach jedem Block untereinander bringt, und mir dies im Anschluss als Textdatei speichert?

internette grüsse
ponscho

9 Antworten

0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo ponscho,

das geht auch mit folgender Formel, welche Du in A1 des
Ergebnisblattes einträgst und nach unten ziehst.


=WENN(ZEILE()<=ZÄHLENWENN(Tabelle1!$A$1:$G$3;"*")+3;INDEX
(Tabelle1!A$1:G$3;KÜRZEN((ZEILE(Tabelle1!A1)-
1)/7)+1;REST(ZEILE(Tabelle1!A1)-1;7)+1);"")


Anstatt einer Leerzelle zwischen den Blöcken wird eine 0 ausgegeben,
welche Du evtl mittels Zelformatierung unterdrücken kannst.


Gruß
rainberg
0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo ponscho,

wenn Du es anders herum meinst, also die bestehenden Spaltenwerte
untereinander, dann nimm diese Formel

=WENN(REST(ZEILE();4)=0;"";INDIREKT(ADRESSE(REST(ZEILE();4
);AUFRUNDEN(ZEILE()/4;0);;;"Tabelle1")))


Gruß
Rainer
0 Punkte
Beantwortet von ponscho Mitglied (323 Punkte)
Hallo Rainer,

Vielen Dank für Deinen Lösungsvorschlag mit den Formeln.

Würde dies auch mit einem Makro gehen?
Formel 1 funktioniert nicht und Formel 2 ist nicht mein gewünschtes Ergebnis was am Ende so aussehen sollte:

[#1]
T=2
F=_ALL
1=& one
2=And One
3=0|0

[#81]
T=2
F=ARTIST
1=Ac/dc
2=AC/DC
3=0|0

[#82]
T=2
F=ALBUM
1=Ac/dc
2=AC/DC
3=0|0

Habe es schon probiert mit Kopieren -> Inhalt einfügen + Transponieren, was auch funktioniert. Nur müsste ich jede Zeile A-F per Hand markieren, in die nächste freie Zeile im neuen Tabellenblatt und einfügen + Leerzeile.

Könnte man dies nicht automatisieren bis der letzte Datenblock erreicht ist?

PS: Habe jetzt schnell dahin getippselt, da ich zur KG muss

internette grüsse
mick
0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo mick,

die erste Formel ist an Dein Beispiel angepasst und funktioniert genau
so wie Du es willst.

siehe Anhang

Wenn Du eine andere Tabellenstruktur hast, muss die Formel natürlich
angepasst werden. Das kann man aber nur, wenn man sie kennt.

Übrigens sind hoch geladene Bilder nicht das geeignete Mittel, wenn
schon, sollte es eine Beispielmappe sein.

rapidshare.com/files/266228001/transponieren.xls.html

Gruß
Rainer
0 Punkte
Beantwortet von ponscho Mitglied (323 Punkte)
Hallo Rainer,

entschuldige bitte, dass ich behauptet habe die Formel funktioniere nicht. Ich muss mich berichtigen, Sie funtioniert ;o)
Vielen Dank für Deine Hilfe!

Habe mir jetzt ein Makro gebastelt inkl. Deiner Formel. Das Makro hat nur noch ein Manko: Wie muss der Code lauten um eine Datei zu speichern ohne Bestätigung?

internette grüsse
mick
0 Punkte
Beantwortet von ponscho Mitglied (323 Punkte)
Edit:

Habe den Code dafür gefunden

Application.DisplayAlerts = False

Application.DisplayAlerts = True
0 Punkte
Beantwortet von ponscho Mitglied (323 Punkte)
Guten Morgen Rainer!

Habe mich zu füh gefreut. Irgenwo knall ich einen Fehler in die Formel rein und sie überträgt mir nur einen Teil der Daten in das neue Tabellenblatt.

Hier mal die Testdatei

Wäre sehr nett, wenn du Sie Dir mal anschauen und mir helfen könntest.

internette grüsse
mick
0 Punkte
Beantwortet von rainberg Profi (14.9k Punkte)
Hallo mick,

die angepasste Formel für A1 lautet:

=WENN(ZEILE()<=ZÄHLENWENN('2 mta
sortiert'!$A$1:$G$1500;"*")+ANZAHL2('2 mta sortiert'!A:A);INDEX('2 mta
sortiert'!$A$1:$G$1500;KÜRZEN((ZEILE(A1)-1)/7)+1;REST(ZEILE(A1)-
1;7)+1);"")


Gruß
Rainer
0 Punkte
Beantwortet von ponscho Mitglied (323 Punkte)
Hallo Rainer,

Sorry, wegen so spät melden!
Die letzte Formel hat wunderbar funktioniert.
Vielen Dank für Deine Hilfe!

internette grüsse
mick
...