Autofit nur bei 'normaler' Zeilenhöhe?

HallO!

Dieses Problem stellte sich schoneinmal bei mir, nur finde ich jetzt auf anhieb den Artikel nicht. Gelöst wurde es da aber auch nicht.

Also ich habe eine Arbeitsmappe mit zwei Blättern.

Das erste Blatt Schriftgröße 10 - also „normal“. Diverse Zellen haben einen Zeilenumbruch und vor dem Audruck wird mit …autofit die Zeilenhöhe angepasst. Funktioniert super!

Im zweiten Blatt sind die gleichen Zellen allerdings mit Schriftgröße 11 und 12. dort sind auch Zeilenumbruch usw. aktiviert. und vor dem Ausdruck wird auch hier mit …autofit versucht die Zeilenhöhe anzupassen. Aber es funktioniert nicht.

Noch komischer:
Zeilen, welche ich händisch an die Größe anpasste (zB doppelte Höhe) werden wieder auf einfache Höhe „verkleinert“.

Ich habe übrigens Excel XP SP3.

Vielen Dank schonmal im Voraus

Gruß

LE

Hallo LE,

Autofit in EXCEL hat mE ne menge Macken, und ich kenne keine wirkliche Lösung. Trotzdem ein paar Hinweise:

Ich verwende 2002, SP3.

Autofit funktioniert grundsätzlich nicht bei:
Verbundenen Zellen
Texten ab ca. 1000 Zeichen

Daneben gibt es eine menge Möglichkeiten die Probleme betreiten:
IMHO sind Spaltenbreite und -höhe in "Anzahl Zeichen … (ein W?) der Standardschriftart und -größe angegeben. Wie dann ein „realer“ Inhalt dahin übersetzt wird? Keine Ahnung.
Tatsächlich hat sogar die Schriftart des Desktops einen Einfluß auf das Layout!

Ein Test mit Inhalten unterschiedlicher Zeichngrößen und Autofit (ohne die oben geannten no goes) war aber bei mir erfolgreich.

Abhilfe (eh: besser Workaround):

Autofit funktioniert grundsätzlich nicht bei:
Verbundenen Zellen
Texten ab ca. 1000 Zeichen

Erstes Problem: Es handelt sich um verbundene Zellen!

Daneben gibt es eine menge Möglichkeiten die Probleme
betreiten:
IMHO sind Spaltenbreite und -höhe in "Anzahl Zeichen … (ein
W?) der Standardschriftart und -größe angegeben. Wie dann ein
„realer“ Inhalt dahin übersetzt wird? Keine Ahnung.
Tatsächlich hat sogar die Schriftart des Desktops einen
Einfluß auf das Layout!

Ein Test mit Inhalten unterschiedlicher Zeichngrößen und
Autofit (ohne die oben geannten no goes) war aber bei mir
erfolgreich.

Abhilfe (eh: besser Workaround):

Grüezi LicifersErbe

Autofit funktioniert grundsätzlich nicht bei:
Verbundenen Zellen
Texten ab ca. 1000 Zeichen

Erstes Problem: Es handelt sich um verbundene Zellen!

Ja, das ist wirklich ein Problem, das Du IMO umgehend beheben solltest…

Also hier die genaue Formatierung:

Zellen E-K verbunden

Wie gesagt, das ist suboptimal, Du solltes den Verbund aufheben.

So, ich hoffe das hilft, das man mir evtl. weiterhelfen
kann…

Gegebenenfalls könntest Du die folgende VBA-Routine einsetzen um die Zeilenhöhe anzupassen, ob das mit der integrierten Formel klappt musst Du mal testen:

Function ZeilenHoeheVerbundeneZellen(ByVal rngZelle As Range)
'passt die Zeilenhöhe bei verbundenen Zellen automatisch an
'von Hans Herber / angepasst von Thomas Ramel ([email protected])
'Aufrufen per Übergabeparameter mit der folgenden Zeile:
'
'Sub test()
'ZeilenhoeheVerbundeneZellen (ActiveSheet.Range("A1"))
'End Sub
'
Dim CurrentRowHeight As Single
Dim MergedCellRgWidth As Single
Dim CurrCell As Range
Dim CellWidth As Single
Dim PossNewRowHeight As Single
Dim iX As Integer

 If IsEmpty(rngZelle) Then
 Set rngZelle = ActiveCell
 End If

 If rngZelle.MergeCells Then
 With rngZelle.MergeArea
 If .Rows.Count = 1 And .WrapText = True Then
 Application.ScreenUpdating = False
 CurrentRowHeight = .RowHeight
 CellWidth = rngZelle.ColumnWidth
 For Each CurrCell In rngZelle.MergeArea
 MergedCellRgWidth = CurrCell.ColumnWidth + \_
 MergedCellRgWidth
 iX = iX + 1
 Next
 MergedCellRgWidth = MergedCellRgWidth + (iX - 1) \* 0.71
 .MergeCells = False
 .Cells(1).ColumnWidth = MergedCellRgWidth
 .EntireRow.AutoFit
 PossNewRowHeight = .RowHeight
 .Cells(1).ColumnWidth = CellWidth
 .MergeCells = True
 '.RowHeight = PossNewRowHeight
 .RowHeight = IIf(CurrentRowHeight \> PossNewRowHeight, \_
 CurrentRowHeight, PossNewRowHeight)

 End If
 End With
 End If
End Function

Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Hallo Thomas!

Perfekt!

Danke Dir, habs (ein wenig angepasst) in meinen Quellcode integriert.

Funktioniert 1A!

Danke Dir

Gruß

Lucifers Erbe

Hi LE,

Erstes Problem: Es handelt sich um verbundene Zellen!

tja nu, die bringen immer Ärger :frowning:

Der Ausdruck wird über ein Makro gestartet, da folgende Dinge
vor dem Druck abgearbeitet werden:

  • Alle Zeilen zwischen 16:95 die nicht benötigt werden, werden
    ausgeblendet.
  • und eben der nicht funktionierende .autofit

Probier dieses mal miteinzubauen:

Option Explicit
'
Sub MyAutofit()
Dim Zei As Variant, Spa As Long, S, H
For Each Zei In ActiveSheet.UsedRange.Rows
 H = 0
 For Spa = 1 To Cells(Zei.Row, Columns.Count).End(xlToLeft).Column
 S = Split(Cells(Zei.Row, Spa), Chr(10))
 If UBound(S) \> H Then H = UBound(S)
 Next Spa
 Cells(Zei.Row, Spa).RowHeight = (H + 1) \* 16
Next Zei
End Sub

Gruß
Reinhard

Grüeziu Lucifers Erbe

Perfekt!

Danke Dir, habs (ein wenig angepasst) in meinen Quellcode
integriert.

Funktioniert 1A!

Fein, das freut mich sehr - und Danke für dein Feedback :smile:

Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

OT Feedback

Grüeziu Thomas

(wegem dem u, hattet ihr auch Rechtschreibreform? *kicher*)

Fein, das freut mich sehr - und Danke für dein Feedback :smile:

Ob wohl LE weiß daß jedweder Feedback schön ist, also auch daß mein Code nicht perfekt läuft?
Denn damit kann ich was anfangen und mich neu daran versuchen.

Und zum Code von Hans, wenn da Zellen übereinander verbunden sind macht der irgendwie gar nix!?

Mein Code schon *glaub* aber ich muß zugeben ich hatte ihn nur kurz getestet mit verbundenen Zellen in einer Zeile.

Deshalb wäre mir ein Feedback von LE schon wichtig, denn wer verbundene Zellen benutzt hat sicher noch mehr Schweinereien im Blatt versteckt und wird später in der Hölle schmoren, naja, das macht ihm sicher nix aus bei dem Nick *grien*, als da wären ausgeblendete Zellenreihen, Teilergebnisse, Pivottabellen, Gruppierungen, Autofilter usw. und halt auch verbundene Zellen über Zeilen hinaus.

Btw: Meine Anfrage im VB-Brett, da würde ich ja gerne ein Feedback zu den Antworten geben, leider gibt’s keine Antworten :frowning:
Es geht im Betreff um Formulare im IE.
Wäre nett wenn du da einige der Beispiele von MS zum Laufen bringen könntest, ich schaffe das nicht :frowning:

Gruß
Reinhard

Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Grüezi Reinhard

Grüeziu Thomas

(wegem dem u, hattet ihr auch Rechtschreibreform? *kicher*)

Hups, nein, da ist mir bloss ein Jodler entwischt… :wink:

Fein, das freut mich sehr - und Danke für dein Feedback :smile:

Ob wohl LE weiß daß jedweder Feedback schön ist, also auch daß
mein Code nicht perfekt läuft?
Denn damit kann ich was anfangen und mich neu daran versuchen.

…daher lobe ich auch ab und zu die lieben Feedback-Geber in der Hoffnung dass solches künftig öfter vorkommt…

Deshalb wäre mir ein Feedback von LE schon wichtig, denn wer
verbundene Zellen benutzt hat sicher noch mehr Schweinereien
im Blatt versteckt und wird später in der Hölle schmoren,
naja, das macht ihm sicher nix aus bei dem Nick *grien*, als
da wären ausgeblendete Zellenreihen, Teilergebnisse,
Pivottabellen, Gruppierungen, Autofilter usw. und halt auch
verbundene Zellen über Zeilen hinaus.

Tja, ich bin auch gegen solche Unschönheiten - gegen verbunden Zellen verwende ich schon bald Weihwasser und Koblauch… :wink:

Btw: Meine Anfrage im VB-Brett, da würde ich ja gerne ein
Feedback zu den Antworten geben, leider gibt’s keine Antworten

-(

Hmmm, vielleicht setzt Du die Latte zu hoch an…?

Es geht im Betreff um Formulare im IE.
Wäre nett wenn du da einige der Beispiele von MS zum Laufen
bringen könntest, ich schaffe das nicht :frowning:

Na, du hast ja Gottvertrauen - wenn Du es nicht schaffst, wie soll ich dann?

…aber denoch sehe ich mir die Sache vermutlich mal näher an - ‚travelling salesman‘ ist da doch das Thema, nicht?

Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Grüezi Thomas,

Hups, nein, da ist mir bloss ein Jodler entwischt… :wink:

nach Jodeln konnte ich ja nicht nachfragen, da hätteste deine Flinte aus dem Schrank genommen und mich besucht.
Schweizer sind da empfindlich, ich habe Kishon gelesen *grins*

Btw: Meine Anfrage im VB-Brett, da würde ich ja gerne ein
Feedback zu den Antworten geben, leider gibt’s keine Antworten

-(

Hmmm, vielleicht setzt Du die Latte zu hoch an…?

Nö, keinesfalls, sicher, ich kann nicht drüberhopsen, aber du oder/und Rainer/Alex könnten drüberhopsen *gehofft hab*

Na, du hast ja Gottvertrauen - wenn Du es nicht schaffst, wie
soll ich dann?

Mein Zweitnick ist BigHope :smile:

…aber denoch sehe ich mir die Sache vermutlich mal näher an

Dankeschön.

  • ‚travelling salesman‘ ist da doch das Thema, nicht?

? Sorry Thomas, verstehe ich grad nicht.

Lieben Gruß
Reinhard

Grüezi Reinhard

Hups, nein, da ist mir bloss ein Jodler entwischt… :wink:

nach Jodeln konnte ich ja nicht nachfragen, da hätteste deine
Flinte aus dem Schrank genommen und mich besucht.
Schweizer sind da empfindlich, ich habe Kishon gelesen *grins*

Ja, genauso wie wir reinlich sind - das hat Herr Kischon auch sehr gut getroffen :smile:

Hmmm, vielleicht setzt Du die Latte zu hoch an…?

Nö, keinesfalls, sicher, ich kann nicht drüberhopsen, aber du
oder/und Rainer/Alex könnten drüberhopsen *gehofft hab*

…schaue mer mol…

…aber denoch sehe ich mir die Sache vermutlich mal näher an

Dankeschön.

  • ‚travelling salesman‘ ist da doch das Thema, nicht?

? Sorry Thomas, verstehe ich grad nicht.

Ein erster Blick auf die verlinkte Webseite hat mir den Eindruck gemacht als ginge es darum beliebige Adressen zu übergeben und dann die optimale (kürzeste) Reiseroute ausgeworfen zu bekommen - da kann ich mich aber auch täuschen…


Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Hallo Reinhard!

Ja Dein Code funktioniert auch super! *grinst*

Sorry, aber nachdem ich den laufenden Code hatte, guckte ich nicht mehr so tief im Forum! Erst gerade ist mir Dein Vorschlag aufgefallen! ^^

Und mangelndem Feedback kann man mir nicht vorwerfen *empört sich aufbaut* Sonst muss ich mal den, den ich beerbe verschicken! *lool*

Und Nein, außer verbundenen Zellen (ich gestehe: ich arbeite sehr viel damit) keine bösen, gemeinen und hinterhältigen Fiesheiten!^^

Lieben Gruß

LE

PS: Hab sogar im „Lob/Kritik“ mich schon über die Hilfen hier bedankt! :stuck_out_tongue: