Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1204to1208
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

Zeilenumbruch in langer Formel

Zeilenumbruch in langer Formel
reiner
Hallo Leute,
die nachfolgende Formel ragt wegen ihrer Länge weit über den Rand des VBA-Editors hinaus und wirkt dadurch unübersichtlich. Mir ist bekannt dass Zeilenumbrüche mit „ _“ erzwungen werden können, aber bei dieser Formel klappt das nicht. Wenn ich ein Leerzeichen und einen Unterstrich einfüge, wird die gesamte Formel in roter Farbe angezeigt und eine Warnmeldung „Erwartet: Anweisungsende“ erscheint.
ActiveCell.FormulaR1C1 = "=IF(LEFT(RC[-18],2)=""08"",RC[-14],IF(LEFT(RC[-17],2)=""01"",RC[-14],IF(LEFT(RC[-14],2)=""01"",RC[-14],IF(LEFT(RC[-14],1)=""0"",IF(OR(LEFT(RC[-14],3)=VLOOKUP(RC[-14],Vorwahlen,1,TRUE),LEFT(RC[-14],4)=VLOOKUP(RC[-14],Vorwahlen,1,TRUE),LEFT(RC[-14],5)=VLOOKUP(RC[-14],Vorwahlen,1,TRUE),LEFT(RC[-14],6)=VLOOKUP(RC[-14],Vorwahlen,1,TRUE)),VLOOKUP(RC[-14],Vorwahlen,1,TRUE),RC[-14])&""/""&RIGHT(RC[-14],(LEN(RC[-14])-LEN(IF(OR(LEFT(RC[-14],3)=VLOOKUP(RC[-14],Vorwahlen,1,TRUE),LEFT(RC[-14],4)=VLOOKUP(RC[-14],Vorwahlen,1,TRUE),LEFT(RC[-14],5)=VLOOKUP(RC[-14],Vorwahlen,1,TRUE),LEFT(RC[-14],6)=VLOOKUP(RC[-14],Vorwahlen,1,TRUE)),VLOOKUP(RC[-14],Vorwahlen,1,TRUE),RC[-14])))),RC[-14]))))"
Hat jemand eine Idee wie diese Formel auf Fensterbreite umgebrochen werden kann?
mfg
reiner

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Zeilenumbruch in langer Formel
06.03.2011 14:26:42
Reinhard
Hallo Reiner,
Sub nn()
Dim F As String
F = "=IF(LEFT(RC[-18],2)=""08"",RC[-14],IF(LEFT(RC[-17],2)=""01"",RC[-14]"
F = F & ",IF(LEFT(RC[-14],2)=""01"",RC[-14],IF(LEFT(RC[-14],1)=""0"","
F = F & "IF(OR(LEFT(RC[-14],3)=VLOOKUP(RC[-14],Vorwahlen,1,TRUE),LEFT(RC[-14],4)"
F = F & "=VLOOKUP(RC[-14],Vorwahlen,1,TRUE),LEFT(RC[-14],5)=VLOOKUP(RC[-14]"
F = F & ",Vorwahlen,1,TRUE),LEFT(RC[-14],6)=VLOOKUP(RC[-14],Vorwahlen,1,TRUE))"
F = F & ",VLOOKUP(RC[-14],Vorwahlen,1,TRUE),RC[-14])&""/""&RIGHT(RC[-14]"
F = F & ",(LEN(RC[-14])-LEN(IF(OR(LEFT(RC[-14],3)=VLOOKUP(RC[-14],Vorwahlen"
F = F & ",1,TRUE),LEFT(RC[-14],4)=VLOOKUP(RC[-14],Vorwahlen,1,TRUE),LEFT(RC[-14]"
F = F & ",5)=VLOOKUP(RC[-14],Vorwahlen,1,TRUE),LEFT(RC[-14],6)=VLOOKUP(RC[-14]"
F = F & ",Vorwahlen,1,TRUE)),VLOOKUP(RC[-14],Vorwahlen,1,TRUE),RC[-14]))))"
F = F & ",RC[-14]))))"
ActiveCell.FormulaR1C1 = F
End Sub

Gruß
Reinhard
Anzeige
Warum nicht mit '& _' statt 'F = F & ',
06.03.2011 14:43:52
Luc:-?
…Reinhard;
natürl m.Zeilenumbruch nach _ …
Gruß+schöSo, Luc :-?
AW: Warum nicht mit '& _' statt 'F = F & ',
06.03.2011 14:50:08
Reinhard
Hallo Luc,
Angewohnheit. Wie auch, daß ich Unterstriche nicht so mag.
Jetzt mal weglassend, wenn man Code mit vielen Unterstrichen aus einigen Webseiten herauskopiert und in den VB-Editor einfügt muß man alle Unterstriche "nacharbeiten".
Das kann lästig sein für API mit vielen umgebrochenen Declare-Anmweisungen.
Übrigens ist zumindest in meinem Code noch min. ein Fehler weil da Fehler 1004 kommt.
Auch hier bei dieser Spielerei: :-)
Sub nn2()
Dim F As String
Const V As String = "=VLOOKUP(RC[-14],Vorwahlen,1,TRUE),LEFT(RC[-14],"
Const V2 As String = "VLOOKUP(RC[-14],Vorwahlen,1,TRUE)"
F = "=IF(LEFT(RC[-18],2)=""08"",RC[-14],IF(LEFT(RC[-17],2)=""01"",RC[-14]"
F = F & ",IF(LEFT(RC[-14],2)=""01"",RC[-14],IF(LEFT(RC[-14],1)=""0"","
F = F & "IF(OR(LEFT(RC[-14],3)" & V & "4)" & V & "5)" & V & "6)=" & V2 & ")"
F = F & "," & V2 & ",RC[-14])&""/""&RIGHT(RC[-14]"
F = F & ",(LEN(RC[-14])-LEN(IF(OR(LEFT(RC[-14],3)" & V & "4)" & V
F = F & "5)" & V & "6)=" & V2 & ")," & V2 & ",RC[-14])))),RC[-14]))))"
ActiveCell.FormulaR1C1 = F
End Sub
Gruß
Reinhard
Anzeige
Nach Fehlern hab'ich b.dir NICHT gesucht! ;-) orT
06.03.2011 14:55:57
Luc:-?
Gruß Luc :-?
Ich auch nicht, denn...
06.03.2011 15:11:54
Reinhard
...Reiner hat mich nicht "all inclsiv" gebucht und wie vereinbart vorab den gedeckten Scheck geschickt :-)))
Gruß
Reinhard
hallo Reinhard und Luc, vielen Dank
06.03.2011 15:27:21
reiner
o.T.
mit '& _' statt 'F = F & '
06.03.2011 17:00:13
Erich
Hi Reinhard,
das mit den "_" finde ich nicht so schlimm - wenn man die Zeilen kurz genug macht.
Das Nacharbeiten ist nur dann nötig, wenn die Forumssoftware Umbrüche inmitten von Strings setzt.
So hat man das im Griff:

Sub FormelUmbruch()
ActiveCell.FormulaR1C1 = "=IF(LEFT(RC[-18],2)=""08"",RC[-14]," & _
"IF(LEFT(RC[-17],2)=""01"",RC[-14],IF(LEFT(RC[-14],2)=""01"",RC[-14]," & _
"IF(LEFT(RC[-14],1)=""0"",IF(OR(LEFT(RC[-14],3)=VLOOKUP(RC[-14]," & _
"Vorwahlen,1,TRUE),LEFT(RC[-14],4)=VLOOKUP(RC[-14],Vorwahlen,1,TRUE)," & _
"LEFT(RC[-14],5)=VLOOKUP(RC[-14],Vorwahlen,1,TRUE),LEFT(RC[-14],6)" & _
"=VLOOKUP(RC[-14],Vorwahlen,1,TRUE)),VLOOKUP(RC[-14],Vorwahlen,1,TRUE)," & _
"RC[-14])&""/""&RIGHT(RC[-14],(LEN(RC[-14])-LEN(IF(OR(LEFT(RC[-14],3)" & _
"=VLOOKUP(RC[-14],Vorwahlen,1,TRUE),LEFT(RC[-14],4)=VLOOKUP(RC[-14]," & _
"Vorwahlen,1,TRUE),LEFT(RC[-14],5)=VLOOKUP(RC[-14],Vorwahlen,1,TRUE)," & _
"LEFT(RC[-14],6)=VLOOKUP(RC[-14],Vorwahlen,1,TRUE)),VLOOKUP(RC[-14]," & _
"Vorwahlen,1,TRUE),RC[-14])))),RC[-14]))))"
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige

320 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige