Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1888to1892
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Transposer

Transposer
28.06.2022 11:14:44
Antonio
Hallo Gemeinde,
bin dabei ein Transposer zu schreiben für einzelne Töne und Akkorde, von einer Tonart in die nächste.
Es funzt ganz OK! Was die Töne anbetrifft werden ordentlich transponiert.
Wenn ihr die Mappe ausprobiert, die Töne zum vergleichen, sind in der Matrix LINKS.
Es funktioniert so:
aus einer XML bekomme ich die Töne und die Akkorde, in Tabelle eintragen, die eingangs Tonart eingeben, dann mit dem Drehfeld spielen, fertig.
Wenn die Tonart eine moll ist werden natürlich RECHTS eingetragen, dort wo Töne moll steht.
Mit den Akkorden habe Probleme ich schaffe sie nicht darzustellen, vielleicht ist die Formel falsch.
Daher bitte ich um ein wenig Hilfe.
https://www.herber.de/bbs/user/153809.xlsx
Vielen Dank im Voraus
LG Antonio

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Transposer
28.06.2022 11:42:47
ralf_b
vielleicht doch lieber mit index, statt mit wahl
Was soll das mit dem Teilsstring Dahinter?
Arbeitsblatt mit dem Namen 'Tabelle1'
 STU
4Tonart Out
5E
6   
7E Eb-6

ZelleFormel
U7=VERKETTEN(INDEX($AT$2:$AT$25;$Q$8);RECHTS(O7;LÄNGE(O7)-1))

Anzeige
AW: Transposer
28.06.2022 11:56:35
Antonio
Hallo ralf_b,
Danke erstmal für die Meldung.
Ich versuche es kurz:
In "O7" ist "A-6" aus der XML eingetragen,
wenn ich jetzt in "Q8" eine zwei habe und laut Index"AT2:AT25" - von "A" plus zwei Plätze ist = "B"
Ergibt: "O7" RECHTS -1 = "A"
Aus dem "A" wird ein "B" plus der abgeschnitene Teilstring = "B-6"
und so weiter..
Das wäre was eigentlich zu machen ist.
Ich bekomme leider nichts zu sehen
LG Antonio
AW: Transposer
28.06.2022 13:25:56
ralf_b
sieht bei mir so aus.
Arbeitsblatt mit dem Namen 'Tabelle1'
 QRSTUVWXYZAAABACADAEAF
2  Töne Akkorde Töne Akkorde   Töne Akkorde 
3  Dur moll   moll 
4  Tonart Out Tonart In   Tonart Out 
5  F Gm   Em 
6                
7  F E-6 D Bb   B G#mb 
85 E E-7b5 Eb C-7 9 C G#m-7 
9  D E-7b5 F F7   D G#m7 
10  D E-6 Bb Bb   G G#mb 
11  Db E-7b5 D F7   B G#m7 
12  E E-7b5 Eb Eb   C G#mb 
13  A E-6 F F   D G#m 
14  A E-7 Bb C-7   G G#m-7 
15  F E7 D F7   B G#m7 
16  E Ema7 Eb Bb   C G#mb 
17  D E#dim F F7   D G#m7 
18  D E7b9 Bb Bb   G G#mb 

Anzeige
AW: Transposer
28.06.2022 13:43:20
Antonio
Schau ralf_b,
wir haben in "Y7..." lauter unterschiedliche Akkorde,
mit deiner Verbesserung sind die Akkorde alle vom selben Typ
LINKS beginnen alle mit "E" und RECHTS alle mit"G#m".
Für ein Akkord mag zutreffen aber nicht für alle.
Sorry
LG Antonio
Musiker benötigt! oder...
28.06.2022 14:23:05
ralf_b
....eine andere Problembeschreibung.
Wie sieht denn ein Wunschergebnis aus? Offensichtlich bin ich musiktheoretisch mehr als raus.
Die Wahlformel ergab einen Fehler, deshalb habe ich sie ausgetauscht. An der der Rechts()-Formel habe ich nichts geändert, da ich dir Richtigkeit der Anwendung unterstelle. Nach den neuen Infos weis ich nicht wie es aussehen soll.
Anzeige
AW: Musiker benötigt! oder...
28.06.2022 14:32:33
Antonio
Hi, du hast nicht falsches gemacht deswegen sagte ich "Verbesserung".
Ich glaube werde morgen mir ein Plan machen wie ich es erklären soll.
Ich glaube es liegt an mir.
Ich werde händich die Tabelle schreiben so wie sie auszusehen hat.
Lasse deswegen den Beitrag noch offen.
LG Antonio
AW: Musiker benötigt! oder...
29.06.2022 06:30:59
Antonio
So, hier habe in der Tabelle geschrieben was passieren sollte wenn das Drehfeld betätigt wird:
https://www.herber.de/bbs/user/153832.xlsm
Ich hoffe das es jetzt klar ist.
LG Antonio
AW: Musiker benötigt! oder...
29.06.2022 10:33:50
ralf_b
schon besser aber es sind noch Unklarheiten.
Was hälst du davon ?
Arbeitsblatt mit dem Namen 'Tabelle1'
 STUVWXYZAAABACADAE
7D B-6 D Bb   E C#mb

ZelleFormel
S7=INDEX(WENN(ISTFEHLER(SUCHEN("#";M7;1));$AT$2:$AT$25;$AS$2:$AS$25); WENN(ISTFEHLER(SUCHEN("#";M7;1));VERGLEICH(M7; $AT$2:$AT$25;0);VERGLEICH(M7; $AS$2:$AS$25; 0))+$Q$8)
U7=INDEX($AT$2:$AT$25;VERGLEICH(LINKS(O7;1);$AT$2:$AT$25;0)+$Q$8) &RECHTS(O7;LÄNGE(O7)-1)
AC7=INDEX($AT$2:$AT$25;VERGLEICH(W7;$AT$2:$AT$25;0)+$AA$8)
AE7=INDEX($AV$2:$AV$25;VERGLEICH(LINKS(Y7;1);$AT$2:$AT$25;0)+$AA$8) &RECHTS(Y7;LÄNGE(Y7)-1)

Anzeige
AW: du bist Musiker genug
29.06.2022 11:59:56
Antonio
Hi ralf_b,
ich halte sehr viel davon, sehr gut.
Ich habe eine kleine Änderung gemacht weil du es nicht wissen konntest, mein Fehler,
ich habe die formel für S7 und U7 auch für AC7 und AE7 verwendet
weil AV2:AV25 war nur für AC5 gedacht.
Wenn du dasselbe machst haben wir die gleiche Ergebnisse und wissen vowon wir reden:
ein klein Schönheitsfehle in AE7 (und das aber für die ganze Spalte):
Gbb ist die Ergebnis, prinzipiell richtig (sollte F sein) warum?
.....F - F# - G - G#.....usw.
.....F - Gb - G - Ab.....usw.
gleiche Töne,
.....Gbb - Gb - G - Ab - wie du siehst auch die gleiche Töne, wird aber diese Schreibweise seltenst verwendet.
ein # erhöt ein Ton um die Hälfte
ein b ernidrigt ein Tön un die Hälfte
Also:
G minus ein halber Ton = Gb minus ein halber Ton = F
und das sit gleich wie:
G minus ein halber Ton = Gb minus ein halber Ton = Gbb
Ich hoffe dich interessiert überhaupt soviel Theorie.
Kannst du vielleicht diese Fehler korrigieren?
Ich sende dir ein Bild wo du sehen kannst was da rauskommen muss.
Userbild
LG Antonio
PS.: wirklich ein guter Arbeit
Anzeige
du bist Musiker genug ...... eher nicht
29.06.2022 13:52:20
ralf_b
du hast doch schon eine Datei ,mit den richtigen Werten. Und wie ich sehe bist du jetzt mit Userforms unterwegs. Die Zusammenhänge mit den Akkorden sind mit schon deutlicher geworden. Aber trotzdem habe ich ein Problem die richtigen Werte zu lokalisieren wie du sie brauchst. Ich bin dann erstmal raus.
viel Erfolg
rb
AW: @ Ralf_b Vielen Dank owW
29.06.2022 14:05:11
Antonio
.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige