Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
920to924
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
920to924
920to924
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Mammutformel in VBA

Mammutformel in VBA
07.11.2007 11:37:00
Melanie
Hallo VBA-Profis,
ich möchte per Makro eine Formel in eine Zelle schreiben, bisher habe ich Formeleingaben immer nur mit dem Makrorekorder aufgezeichnet, sprich ich bin nicht ganz so bewandert, mit der direkten Eingabe von Formeln im VB-Editor.
Jetzt habe ich das Problem, dass meine Formel wohl etwas zu lang ist, und den Makrorecorder überfordert. Ich bekomme immer die Meldung "Kann nicht schreiben" wenn ich die Eingabe über die Entertaste beenden will.
Könnt ihr mir helfen, die Formel so umzuschreiben, dass ich sie im Makro verwenden kann?
Das wär super!
Danke im Voraus,
Melanie
Und hier ist das gute Stück:
=WENN(ODER(RECHTS(RECHTS(LINKS(C2;FINDEN("_";C2)-1);LÄNGE(LINKS(C2;FINDEN("_";C2)-1))-4); LÄNGE(RECHTS(LINKS(C2;FINDEN("_";C2)-1);LÄNGE(LINKS(C2;FINDEN("_";C2)-1))-4))-1)="10"; RECHTS(RECHTS(LINKS(C2;FINDEN("_";C2)-1);LÄNGE(LINKS(C2;FINDEN("_";C2)-1))-4);LÄNGE(RECHTS(LINKS(C2; FINDEN("_";C2)-1);LÄNGE(LINKS(C2;FINDEN("_";C2)-1))-4))-1)="11";RECHTS(RECHTS(LINKS(C2;FINDEN("_";C2) -1);LÄNGE(LINKS(C2;FINDEN("_";C2)-1))-4);LÄNGE(RECHTS(LINKS(C2;FINDEN("_";C2)-1);LÄNGE(LINKS(C2; FINDEN("_";C2)-1))-4))-1)="12");RECHTS(RECHTS(LINKS(C2;FINDEN("_";C2)-1);LÄNGE(LINKS(C2;FINDEN("_"; C2)-1))-4);LÄNGE(RECHTS(LINKS(C2;FINDEN("_";C2)-1);LÄNGE(LINKS(C2;FINDEN("_";C2)-1))-4))-1); "0"&RECHTS(RECHTS(LINKS(C2;FINDEN("_";C2)-1);LÄNGE(LINKS(C2;FINDEN("_";C2)-1))-4); LÄNGE(RECHTS(LINKS(C2;FINDEN("_";C2)-1);LÄNGE(LINKS(C2;FINDEN("_";C2)-1))-4))-1))

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Was soll die Formel denn bewirken?
07.11.2007 11:46:53
Peter
Gruß, Peter

AW: Was soll die Formel denn bewirken?
07.11.2007 11:48:00
Melanie
Ich kriege das Datum über einen Import nur in einem ziemlich unschönen Format rein, so "ziehe" ich nur die Monatsangabe raus, und setze bei den Monaten, die ungleich 10, 11 oder 12 sind noch eine 0 davor.

AW: Was soll die Formel denn bewirken?
07.11.2007 11:50:00
Harry
Hallo Melanie,
gib doch mal ein paar Importwerte und zugehörige "korrigierte" Werte an, evtl. lässt sich die Formel vereinfachen.
Gruß
Harry

AW: Was soll die Formel denn bewirken?
07.11.2007 12:01:00
Andi
Hi,
isses denn ein 'echtes' Datums-Format?
Dann probier doch einfach mal
=Monat(A1).
Wenn Du die Zelle dann noch mit dem benutzerdefinierten Format 00 formatierst, dann steht von Januar bis September automatisch die 0 davor.
Schönen Gruß,
Andi

Anzeige
AW: Was soll die Formel denn bewirken?
07.11.2007 12:07:00
Melanie
Hi Andi,
leider, ist es kein Datumsformat, sondern eine Textzeile, die das Datum enthält. Hab ne Beispieldatei gepostet.
Grüße, Melanie

AW: Mammutformel in VBA
07.11.2007 11:49:52
Matthias
Hallo
Du kannst die Formel per Makro in eine Zelle schreiben!

Sub Formel()
ActiveCell.FormulaLocal = "=WENN(ODER(RECHTS(RECHTS(LINKS(C2;FINDEN(""_"";C2)-1);LÄNGE(LINKS(C2; _
FINDEN(""_"";C2)-1))-4); LÄNGE(RECHTS(LINKS(C2;FINDEN(""_"";C2)-1);LÄNGE(LINKS(C2;FINDEN(""_"";C2)-1))-4))-1)=""10""; RECHTS(RECHTS(LINKS(C2;FINDEN(""_"";C2)-1);LÄNGE(LINKS(C2;FINDEN(""_"";C2)-1))-4);LÄNGE(RECHTS(LINKS(C2; FINDEN(""_"";C2)-1);LÄNGE(LINKS(C2;FINDEN(""_"";C2)-1))-4))-1)=""11"";RECHTS(RECHTS(LINKS(C2;FINDEN(""_"";C2) -1);LÄNGE(LINKS(C2;FINDEN(""_"";C2)-1))-4);LÄNGE(RECHTS(LINKS(C2;FINDEN(""_"";C2)-1);LÄNGE(LINKS(C2; FINDEN(""_"";C2)-1))-4))-1)=""12"");RECHTS(RECHTS(LINKS(C2;FINDEN(""_"";C2)-1);LÄNGE(LINKS(C2;FINDEN(""_""; C2)-1))-4);LÄNGE(RECHTS(LINKS(C2;FINDEN(""_"";C2)-1);LÄNGE(LINKS(C2;FINDEN(""_"";C2)-1))-4))-1); ""0""&RECHTS(RECHTS(LINKS(C2;FINDEN(""_"";C2)-1);LÄNGE(LINKS(C2;FINDEN(""_"";C2)-1))-4); LÄNGE(RECHTS(LINKS(C2;FINDEN(""_"";C2)-1);LÄNGE(LINKS(C2;FINDEN(""_"";C2)-1))-4))-1))"
End Sub


Userbild

Anzeige
AW: Mammutformel in VBA
07.11.2007 12:05:00
Melanie
Hallo zusammen,
Anbei hab ich eine abgespeckte Version der Datei. Die Formel ist leicht vereinfacht in der Spalte D zu finden.
https://www.herber.de/bbs/user/47488.xls
Grüße, Melanie

AW: Mammutformel in VBA
07.11.2007 12:15:00
Rudi
Hallo,
tut's nicht
=TEXT(TEIL(C2;6;1+(FINDEN("_";C2)>7));"00")
auch?
Gruß
Rudi
Eine Kuh macht Muh, viele Kühe machen Mühe

Perfekt!
07.11.2007 12:19:45
Melanie
Hall Rudi,
ja, das tuts vollkommen. Manchmal sieht man echt den Wald vor lauter Bäumen nimmer! Vielen Dank!!
Grüße, Melanie
Anzeige

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige