Hallo zusammen!

Ich möchte ein Tabellenbaltt mit eingeblendeten Formeln drucken. Alles zusammen sollte aber nicht breiter als A4 im Querformat sein. Leider kann man dann nicht lesen - weil zu klein geschrieben.
Kann man bei eingeblendeten Formeln einen Zeilenumbruch einfügen?
(betrifft Office 2007)

Danke für die Mühe

Kann man bei eingeblendeten Formeln einen Zeilenumbruch einfügen?

Hallo,
kurz gesagt, ich vermute nicht,
da ein Zeilenumbruch immer statt eines Leerzeichens eingefügt wird.
Formeln haben aber keine Leerzeichen…

Hier im Forum wird eine andere Form der Darstellung genutzt.
Zuerst wird das Tabellenblatt mit dem Ergebnis abgebildet
Da drunter werden dann die Formeln gelistet.

Dazu Tabellendarstellung mit dem Code in FAQ:2363

oder mein Favorit
excel-jeanie
Mal einBeispielwie das aussehen kann. Möglichkeiten der Darstellung: *.html und *.gif

Vielleicht ist das ja eine alternative
Gruß Holger

Grüezi ghostr1r3e

Kann man bei eingeblendeten Formeln einen Zeilenumbruch
einfügen?

Du kannst in der Formel selbst mit ALT+Return Zeilenumbrüche einfügen um dies zu erreichen.

Das musst Du aber für jede Formel tun, geht leider nicht automatisch.

Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Hallo,

vielleicht hilft dir dieses hier

http://www.software-chuchi.ch/praxis/microsoft_excel…

Das kannst du dann drucken, wie du möchtest.

Grüße

powerblue

Formeln mit Zeilenumbruch ausdrucken

Ich möchte ein Tabellenbaltt mit eingeblendeten Formeln
drucken. Alles zusammen sollte aber nicht breiter als A4 im
Querformat sein. Leider kann man dann nicht lesen - weil zu
klein geschrieben.
Kann man bei eingeblendeten Formeln einen Zeilenumbruch
einfügen?
(betrifft Office 2007)

Hallo Ghost,

nachstehendes Makro arbeitet in die Richtung die du willst.
Teste es an einer Kopie deiner Mappe in Tabelle1.
Die Zahl 30 in
Pos = 30
gibt die etwa-Stelle an wo immer der Zeilenumbruch stattfindet.
Erhöhe den Wert wenn du es breiter willst pro Umbruch-Zeile.

Nach dem Makrocode sind deine Formeln keine Formeln mehr!

Alt+F11, Einfügen—Modul, dortrein kopierst du den Code.
Entferne am Kopierten unten das was w-w-w netterweise anhängt :frowning:
Schließe den VB-Editor.
In Excel startest du den Code mit Alt+F8, „Umbruch“ ausführen…

Gruß
Reinhard

Option Explicit

Sub Umbruch()
Dim Zelle As Range, Vor As String, Nach As String, Pos As Integer
On Error Resume Next 'wg. Specialcells
Application.ScreenUpdating = False
With Worksheets("Tabelle1")
 For Each Zelle In .UsedRange.SpecialCells(xlCellTypeFormulas)
 Vor = Zelle.FormulaLocal
 Nach = ""
 Do
 Pos = 30
 While InStr("();+-", Mid(Vor, Pos, 1)) = 0
 Pos = Pos - 1
 Wend
 Nach = Nach & Left(Vor, Pos) & Chr(10)
 Vor = Mid(Vor, Pos + 1, 9 ^ 9)
 Loop While Len(Vor) \> 0
 Zelle.FormulaLocal = Left(Nach, Len(Nach) - 1)
 Next Zelle
 For Each Zelle In .UsedRange.SpecialCells(xlCellTypeFormulas)
 Zelle.FormulaLocal = "'" & Zelle.FormulaLocal
 Zelle.Rows.AutoFit
 Next Zelle
End With
Application.ScreenUpdating = True
End Sub

Ich möchte ein Tabellenbaltt mit eingeblendeten Formeln

> Zelle.FormulaLocal = "'" & Zelle.FormulaLocal

Salü Reinhard
Ich habe es gar nicht anders erwartet: Dieses Makro: super.
Eine Frage dazu: Ich habe versucht, das ganze wieder rückgängig zu machen: Ich möchte, dass z. B. aus
'=SUMME(A1:A10)
wieder eine „richtige“ Formel wird, also
=SUMME(A1:A10)
Ich habe versucht, dieses " ’ " zu entfernen: mit Suchen/Ersetzen, mit TEIL(), mit =WECHSELN(). Aber ich kriege es nicht hin. Geht das auf diese einfache Art und Weise nicht?
Geht das nur mit VBA? Und wenn ja, wie?
Vielen Dank für Deine Bemühungen und viele Grüsse
Niclaus

Salü Niclaus,

Zelle.FormulaLocal = „’“ & Zelle.FormulaLocal

Eine Frage dazu: Ich habe versucht, das ganze wieder
rückgängig zu machen:

danke daß du es getestet hast. Je mehr testen umso eher werden
Schwachstellen sichtbar und man kann den Code verbessern falls
möglich.

Ich möchte, dass z. B. aus
'=SUMME(A1:A10)
wieder eine „richtige“ Formel wird, also
=SUMME(A1:A10)
Ich habe versucht, dieses " ’ " zu entfernen: mit
Suchen/Ersetzen, mit TEIL(), mit =WECHSELN(). Aber ich kriege
es nicht hin. Geht das auf diese einfache Art und Weise nicht?

Ich habe jetzt nur geschaut so zu codieren daß der Anfrager
ausdrucken kann. Mich also um die Entfernung des Hochkommas nach dem
Druck noch nicht gekümmert.

Aus/in der Erinnerung weiß ich aber daß Hochkommas vorne bei einer
Formel nicht leicht zu entfernen sind mit Excelbordmitteln.
Bei Vba gibt’s möglicherweise auch Schwierigkeiten.
Sorry, hab schlicht vergessen wie ich es schaffte vor paar Jahren.
Zumindest habe ich eine vage Erinnerung daß es doch „irgendwie“ ging.

Geht das nur mit VBA? Und wenn ja, wie?

Ich schau mal.
Dieses Hochkomma ist für Excel ein spezielles Zeichen.

Z.B. gibt es da was bei Zelle.Zuordnen der alten Excel4Makro-
Funktionen einen Punkt, wo man sieht daß ein Hochkomma
für linksbündig steht und zwei Hochkommas für rechtsbündig.
Für zentriert gibt es auch ein Zeichen.
Ich erwähne das jetzt nur, warum die Entfernung eines vorderen
Hochkommas hat kann und wird andere Gründe haben.

Ich schau mal wie ich meinen Code abändere damit der Anfrager
das Makro startet, es druckt nach seinem Wunsch aus und danach sind
die Formeln wie vorher.

Wenn mir das nicht gelingt, na und, dann legt das Makro ein
neues Blatt an, kopiert das Originalblatt rein, wandelt die Formeln
um, druckt das neue Blatt aus und löscht es.

Was mir grad einfällt, wenn du magst ersetze mal bitte im Code
„’“ durch chr(160)
Möglich, ungetestet, fällt das 160er Leerzeichen beim Ausdruck nicht
auf und das könnte man danach mit Ersetzen liquidieren.

In meinem Text ist vieles einfach so drauflosgeplaudert, muß also
nicht alles stimmen.
Ich meld mich hier wenn ich mit meinem Code weiterkam.

Gruß
Reinhard

Danke für eure Mühe.
@Reinhard: Das Makro funktioniert super!
Ich habe auch kein Problem damit, in den einzelnen Zellen
das Hochkoma zu löschen und wieder eine richtige Formel aus
dem Zelleninhalt zu machen. Bei großen Datenmengen
allerdings mühsam.

Danke!

Aus/in der Erinnerung weiß ich aber daß Hochkommas vorne bei
einer
Formel nicht leicht zu entfernen sind mit Excelbordmitteln.

Grüezi Reinhard

Ich hab’s gefunden (ich glaube bei Herber, mit einer Anpassung):

Sub umbruchruck()
' Macht aus den angezeigten Text-Formeln wieder "normale" Formeln
 With ActiveSheet.UsedRange
 .FormulaLocal = .FormulaLocal
 End With
End Sub

So schlicht und doch so einfach! - Ich muss zwar gestehen: Ich weiss nicht, warum das funktioniert mit dem
.formulalocal = .formulalocal
Hast Du eine Erklärung?

Im Original stand statt FormulaLocal: .Value = .Value
Damit hat es aber nur bei einfachen Zellbezügen gefunkt: =A1+B2 z. B.

Bei Vba gibt’s möglicherweise auch Schwierigkeiten.

Keine Probleme!

Sorry, hab schlicht vergessen wie ich es schaffte vor paar
Jahren.

Das muss ja dann weit zurück im letzten Jahrtausend gewesen sein :wink: Hat’s denn da überhaupt schon Excel gegeben??

Noch einmal vielen Dank und viele Himmelfahrtsgrüsse
Niclaus

Präfix Hochkomma
Grüezi Niclaus,

.FormulaLocal = .FormulaLocal

So schlicht und doch so einfach! - Ich muss zwar gestehen: Ich
weiss nicht, warum das funktioniert mit dem
.formulalocal = .formulalocal
Hast Du eine Erklärung?

keine 100%-ige. Ich denke das ist wie .Value=.Value.
.Value=.Value enstpricht ja Zelle Kopieren, dann
Bearbeiten—Inhalte einfügen—Werte
Dadurch entfernt man Formeln die in der Zelle waren.

Zu .Formulalocal. Wenn man .Formulalocal auf eine Zelle anwendet
um zu sehen was drin steht und die Formel in der Zelle hat
vorne ein Hochkomma so kriegt man das nicht zu sehen, es
wird in .Formulalocal die reine Formel „angezeigt“.

Wenn man nun mit
.Formulalocal=.Formulalocal
befiehlt in die Zelle als Formel die „reine“ Formel einzufügen
so steht die da drin und das Hochkomma ist wech.

Vorne in der Zelle, als Präfix hat das Hochkomma wohl eine
innerbetriebliche Sonderfunktion in Excel.
Irgendwie deshalb kriegt man es leicht vorne rein aber schwer wieder
raus da es sich irgendwie von x-belibigen Zeichen zu einer Art
Steuerzeichen in Excel wandelt.

Wenn du magst kannste ja mal in A1:A3 beliebigen Text einfügen.
A1 formatierst du linksbündig, A2 mittig usw.
Dann in B1:B3:
=Zelle(„Präfix“,Ax)

Dann siehste ja was ich vorher schrieb, ’ ^ "
Du kannst auch einen Namen vergeben für:
=Zelle.Zuordnen(52;A1)
und in C1:C3 schreiben:
=Namen

Dann siehst du in C1:C3 nix :smile:
Nachstehend steht was wir da an sich sehen müßten, aber Excel4
ist schon lange her, das aufklären müssen wir nicht.
Andrerseits, interessieren tät’s mich schon warum Excel4 nicht
die Formatierung erkennt)
Oder was meint Excel4 mit Textausrichtung? senkrecht?

Im Original stand statt FormulaLocal: .Value = .Value
Damit hat es aber nur bei einfachen Zellbezügen gefunkt:
=A1+B2 z. B.

Wird Gründe haben.
Ich rate mal, könnte an den Zeilenumbruchzeilen (Zeichen 10)
liegen. Vielleicht auch an einem Zeichen in der Formel.
Oder, oder,…

Bei Vba gibt’s möglicherweise auch Schwierigkeiten.

Keine Probleme!

Manchmal wähle ich Worte sehr mit Bedacht. Als ich „möglicherweise“
schrieb wußte ich genau, irschendwie hatte ich das damals mit Vba
geschafft. Ich meinte dabei daß es z.B. bei Replace(A1,"’","")
Schwierigkeiten geben könnte.

Sorry, hab schlicht vergessen wie ich es schaffte vor paar
Jahren.

Das muss ja dann weit zurück im letzten Jahrtausend gewesen
sein :wink: Hat’s denn da überhaupt schon Excel gegeben??

K.A. Ich war nicht für Buchführung und Tabellenkalkulation in
unsrer Höhle zuständig. Ich war Jäger und kümmerte mich um die
Mammuts.

Gruß
Reinhard

52
Das Präfixzeichen (oder das Zeichen für die Textausrichtung) der Zelle oder eine leere Zeichenfolge (""), wenn die Zelle kein solches Zeichen enthält.