25.08.2020, 13:29
Formel zentral verwalten zwecks einfacher Änderungen?
|
25.08.2020, 14:06
Hallo,
ich würde die einzelnen Einträge auslagern in eine separate Tabelle. Zum Ändern einer Formel genügt es den gesamten Formelbereich zu markieren, die Änderungen einzutragen in die oberste Zeile und mit STRG + ENTER abzuschließen, dann sind alle Formeln geändert. Außerdem kann man Formeln kopieren, die passen sich dann an. excel test.xlsx (Größe: 11,96 KB / Downloads: 4)
Gruß
Edgar Meine Antworten sind freiwillig und ohne Gewähr! Über Rückmeldungen würde ich mich freuen.
25.08.2020, 16:41
Hallo enigmak2,
anbei mal ein Versuch mit einer VBA-Fkt., sofern ich das richtig verstanden habe, denn ich habe keine Ahnung von xml. (s. Mappe) Bitte mal testen! Sigi
25.08.2020, 22:15
@BoskoBiati
Vielen Dank dass du dir die Arbeit gemacht hast den Inhalt in die Zellen zu übertragen. Damit kann man den Inhalt leicht verändern aber wenn man mehrere Arbeitsmappen hat mit hunderten von Seiten ist es sehr kompliziert eine Formel zu ändern. @Sigi.21 Vielen Dank! Das ist genau was ich gesucht habe. Jetzt kann ich den code den du geschrieben hast studieren, dass ich dann andere Stellen mit einen ähnlichen Aufbau den Code selber schreiben kann. Das Angenehme ist, dass es auf diese Art sehr viel übersichtlicher ist wenn man Änderungen vornehmen will und er sich zentral ändern lässt. Ist diese Art von Formel eigentlich ressourcenhungriger für Excel wenn es auf mehrere Seiten steht als normal über die Formelzeile so wie ich es ursprünglich gehabt habe?
26.08.2020, 09:40
(25.08.2020, 22:15)enigma2k schrieb: Ist diese Art von Formel eigentlich ressourcenhungriger für Excel wenn es auf mehrere Seiten steht als normal über die Formelzeile so wie ich es ursprünglich gehabt habe? Hallo enigma2k, freut mich, dass es auf Anhieb funktioniert. Du kannst die VBA-Fkt. wie eine Excelformel einsetzen. Auch auf tausenden Zeilen und auf mehreren Tabellen. Ob eine VBA-Fkt. ressourcenhungriger als eine "normale" Formel ist, hängt davon ab, was da verarbeitet wird. Vgl. eine einfache Summe() mit einer komplexen Matrixformel(). So auch bei VBA. Bei der hier vorliegenden VBA-Fkt. passiert nicht so viel, ein paar wenn/dann-Unterscheidungen und ein paar Textverkettungen. Da sollte zu den Formeln kein Unterschied bemerkbar sein. Sigi
26.08.2020, 11:58
Hi,
man braucht hier keine {} um die Formel! Mit select Case ist das Ganze wohl etwas schneller: Code: Function xmlText(Exercise As String, Header As String, Audio As String, Info As String, PostID As Long) As String Beachte, dass VBA auf Groß- und Kleinschreibung achtet! a ist nicht gleich A!
Gruß
Edgar Meine Antworten sind freiwillig und ohne Gewähr! Über Rückmeldungen würde ich mich freuen.
@BoskoBiati
Vielen Dank für die Optimierung, werde es morgen gleich ausprobieren. :100: Arbeite mich gerade durch einen VBA Kurs, echt toll was da alles geht mit Excel und VBA. gibt es eigentlich eine leichte Möglichkeit das case sensitive abzuschalten damit es egal ist ob etwas groß oder klein geschrieben wird?
27.08.2020, 08:17
Hi,
z.B. so: Code: Option Explicit oder so: Code: Option Explicit
Gruß
Edgar Meine Antworten sind freiwillig und ohne Gewähr! Über Rückmeldungen würde ich mich freuen.
27.08.2020, 21:02
@BoskoBiati
Vielen Dank das mit dem CaseSensitiv hat super geklappt! Ich würde den code gerne umwandeln dass er mit einem Array arbeitet. Also anstatt dass ich die Formel in jede Zeile schreiben muss, dass ich ihn nur in eine Zeile schreibe und dann alle 4 Spalten und die jeweiligen Zeilen auswähle. Danach soll die Formel durch jede Zeile des Arrays durchgehen und im Grunde das gleiche machen wie vorher schon. Habe schon einiges dazu gegoogelt aber leider hat das so noch nie jemand gemacht. Meistens wird es immer nur mit Zahlen gemacht und selbst da gibt’s unterschiedliche Arten. Sollte man so ein Array definieren für diesen Einsatz? Code: Function ssmlarray(ParamArray text() As Variant) oder einfach nur Code: Function ssmlarray(text) Danach nehme ich an eine For Schleife mit dem gleichen Code wie bisher Code: Case Is = "w" |
|
Benutzer, die gerade dieses Thema anschauen: 2 Gast/Gäste