Live-Forum - Die aktuellen Beiträge
Datum
Titel
18.04.2024 18:04:29
18.04.2024 16:33:24
Anzeige
Archiv - Navigation
1344to1348
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

Zeilenhöhe

Zeilenhöhe
20.01.2014 10:44:27
Kathrin
Hallo Zusammen,
ich habe folgendes Problem, welches ich trotz intensiver Suche in den Foren nicht lösen kann.
Ich habe eine Tabellen, welche keine verbundenen Zellen enthält.
Die allgemeine Zeilenhöhe ist 20. Bei manchen Zellen ist aber der Text länger wie die Breite der Spalte. Ich möchte gerne das diese Zeilen in ihrer Höhe automatisch geändert werden. Die anderen müssen aber 20 hoch bleiben. Alle Zellen besitzen einen Zellenumbruch. Ich bin am verzweifeln und würde mich freuen, wenn mir da jemand helfen kann.
Gruß Kathrin

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilenhöhe
20.01.2014 11:44:37
Dani
Hallo Kathrin,
Markiere alle Zeilen (STRG+A) und klicke dann doppelt auf die Begrenzungen zwischen den Zeilennummern links.
Das sollte dein Problem lösen (bei mir hat es gerade perfekt funktioniert.
Viele Grüße,
Dani

Rückfragen: Zeilenhöhe
20.01.2014 11:50:01
Matze
Hallo Kathrin,
ich kann dir momentan nicht helfen, hab nur Rückfragen:
Es sind nicht zufällig immer die gleichen Zeilen mit längeren Text?
Standardmäßig sind bei mir Zeilenhöhe 15(20Pixel) eingestellt, ist das gemeint bei dir?
Dann kann mit Autofit gearbeitet werden, wenn VBA beinem Projekt zugelassen ist.
Oder händisch, markiere Alle Zeilen - Doppelklick auf den einen der unteren Ränder einer markierten Zeile.
Oder sind es 20,25(27Pixel) ?
Matze

Anzeige
AW: Rückfragen: Zeilenhöhe
20.01.2014 13:06:59
Kathrin
Danke für die Antwort.
Das ist richtig. Standardmäßig sind alle Zeilen 15 hoch. Ich hab diese aber auf 20 geändert, damit beim Ausdrucken nicht alles so zusammengepfercht aussieht. Das Problem liegt leider darin, das es nicht vorhersehbar ist, welche Zelle es betrifft wo der Text zu lang ist. VBA ist möglich, jedoch bin ich da keine Leuchte. Ich hab schon ein paar Dinge ausprobiert, aber ich komm da nicht weit. Wenn ich alles markiere und dann doppelklicke, werden die Zeilen, die 20 sind und auch bleiben sollen auf 15 zurückgesetzt.
Ich als Laie würde ja sagen:
Alle Zeilen 20 hoch, aber wenn der der Text länger ist, wie die Breite der Spalte ist, dann 30 hoch
https://www.herber.de/bbs/user/88895.zip

Anzeige
Bitte VBA Profi um Hilfe , Danke
20.01.2014 13:21:04
Matze
Hallo Zusammen,
habe das Thema auf offen gestellt da ich keine Lösung dafür habe.
ob es möglich ist dies mit VBA zu lösen, in dem man Spalte "Beschreibung" auf Textlänge prüft
weis ich nicht,.... ist nur ein Gedanke
Bin selbst , wenn es denn eine Lösung gibt darauf gespannt wie die dann aussieht.
Gruß Matze

AW: Bitte VBA Profi um Hilfe , Danke
20.01.2014 13:50:35
Dani
Hallo Kathrin,
ganz stumpfer Workaround ohne VBA:
Mach eine Hilfsspalte mit größerer Schriftgröße, bei der dir die Zeilenhöhe ok vorkommt und schreib da jeweils nur einen Buchstaben rein. Nimm sie aus dem Druckbereich raus oder blende sie sogar komplett aus.
Dann klappt das mit dem Doppelklick.
Viele Grüße,
Dani

Anzeige
AW: Rückfragen: Zeilenhöhe
20.01.2014 13:53:27
fcs
Hallo Kathrin,
hier ein entsprechendes Makro. Funktioniert aber nicht bei verbundenen Zelle.
Gruß
Franz
'Makro in einem allgemeinen Modul
Sub ZeilenHoehe20()
Dim wks As Worksheet
Dim rngRow As Range
Set wks = ActiveSheet
Application.ScreenUpdating = False
With wks
.Rows.AutoFit
For Each rngRow In .UsedRange.Rows
If rngRow.Height 

AW: Rückfragen: Zeilenhöhe
20.01.2014 15:00:33
Kathrin
Vielen Dank Franz und Rudi, aber leider funktioniert es nicht. Was mache ich falsch?
Hab meine Datei geöffnet, dann ALT+F11, dann einfügen Modul, dann den Code einfügt, dann VBA geschlossen ...

Anzeige
AW: Rückfragen: Zeilenhöhe
20.01.2014 15:50:57
fcs
Hallo Karthrin,
eigentlich sehe ich keinen Fehler.
Du musst anschließend dann noch das Tabellenblatt aktivieren, in dem die Zeilenhöhe angepasst werden soll und das Makro starten.
Gruß
Franz

AW: Rückfragen: Zeilenhöhe
21.01.2014 07:41:09
Kathrin
Hallo Franz,
sorry aber ich bekomm es nicht hin. Wie aktiviere ich das Tabellenblatt? Gibt es ein Problem wenn mein Tabellenblatt "13-102" heißt?
Gruß Kathrin

AW: Rückfragen: Zeilenhöhe
21.01.2014 08:36:27
Matze
Hallo Katrin ,
habe eben mal deine Musterdatei runter geladen.
Du hast im Blatt "13-102" über das gesamte Blatt die Rahmen formatiert , warum?
In Spalte L wenn ich alle Rahmen im Blatt lösche, bleiben aber "Rote Rahmen" stehen,
was ist das? Hab erst an bedingte Formatierung gedacht aber ich finde nix.
Das Modul von Franz arbeitet in der Mappe , allerdings braucht es viel zu lange.
Das kommt bestimmt durch UsedRange
Besser mit der Spalte arbeiten die die meisten Einträge hat? Oder Fest definiert, das man sagen kann,
von Zeile1-Zeile999 als Maximum
@Franz hattest du dir die Datei angesehen?
hier: https://www.herber.de/bbs/user/88908.xlsm
Gruß Matze
Was mir auch noch aufgefallen ist, zB Zeile 7,8,9 werden in 30Zeilenhöhe geändert , warum?

Anzeige
AW: Rückfragen: Zeilenhöhe
21.01.2014 08:49:32
Kathrin
Hallo Matze,
der rote Rahmen ist eine Tabellenformatvorlage, die will ich auch rausnehmen.
Das zu begrenzen bis Zeile 999 macht Sinn, es würde auch 200 reichen. In der Regel hab ich nicht allzu viele Positionen. Warum sich die 7,8,9 in eine Zeilenhöhe von 30 ändern, weiß ich nicht.
Gruß Kathrin

AW: Rückfragen: Zeilenhöhe
21.01.2014 13:06:12
Kathrin
Hallo Matze, Hallo Franz,
juhu ich hab es endlich hinbekommen, das der Befehl ausgeführt wird. Allerdings schaff ich es nicht den Bereich einzugrenzen. Aber egal, solang dauert es nicht .... vielen vielen Dank
Gruß Kathrin

AW: Rückfragen: Zeilenhöhe
21.01.2014 14:02:28
fcs
Hallo Kathrin,
ich hab das Makro noch ein wenig optimiert. Ermittlung der letzten Zeile mit Inhalt, alle Zeilen mit Höhe Trotzdem braucht das Makro relativ lange (ca. 5 Sekunden), weil die Einstellung der optimalen Zeilenhöhe hier relativ viel Zeit benötigt.
Das Wort "Normteil" in Spalte "I" ist bezüglich der benötigten Breite grenzwertig. Es wird in der Bildschirmansicht einzeilig dargestellt, erfordert im Druck aber mehr als eine Zeile. Deshalb werden einige Zeile in der Höhe großer als eigentlich erforderlich - dies ist halt eine kleine Schwäche von Excel.
"Tabellenblatt aktivieren" bedeutet: Falls nocht aktiv, dann wird im Hauptprogrammfenster von Excel das Tabellenblatt über das Tabregister selektiert/aktiviert.
Anschliessend kannst du dann über das Menü "Ansicht" oder "Entwicklertools" und Schaltfläche Makros das Makro starten.
Wenn du das Blatt nicht manuell aktivieren möchtest, dann kannst du auch das zusätzliche Makro einfügen, das das Blatt aktiviert und das andere Makro startet.
Gruß
Franz
'Makro in einem allgemeinen Modul
Sub ZeilenHoehe20()
Dim wks As Worksheet
Dim rngRow As Range, rngRows As Range
Set wks = ActiveSheet
With Application
.ScreenUpdating = False
.EnableEvents = False
End With
With wks
'letzte Zeile mit Inhalt (Formel oder Wert)
Set rngRow = .Cells.Find(what:="*", after:=.Cells(1, 1), LookIn:=xlFormulas, _
lookat:=xlWhole, searchorder:=xlByRows, searchdirection:=xlPrevious)
If rngRow Is Nothing Then Exit Sub 'keine Daten in Tabellenblatt
With .Range(.Rows(1), .Rows(rngRow.Row))
.Rows.AutoFit
For Each rngRow In .Rows
If rngRow.RowHeight 

Anzeige
AW: Rückfragen: Zeilenhöhe
21.01.2014 15:28:57
Kathrin
Hallo Franz,
vielen Dank für deine Mühen. Bei mir dauert es keine 5 Sekunden, geht irgendwie schneller, aber das mit dem automatischen Ausführen bekomme ich nicht nicht hin. Wo muss ich das Makro genau einfügen? In ein neues Modul? oder DieseArbeitsmappe? oder einfach davor oder hinter dein Makro. HAb alle Varianten ausprobiert, aber leider keinen Erfolg gehabt.
Gruß Kathrin

AW: Rückfragen: Zeilenhöhe
21.01.2014 16:41:29
fcs
Hallo Kathrin,
auch dieses zusätzliche Makro startet nicht automatisch, sondern muss von Hand gestartet werden.
Du musst dich halt nur nicht mehr um das richtige Blatt kümmern, da das Makro dieses enthält.
Einfügen kannst du du es in das gleiche Modul wie "ZeilenHoehe20".
Wenn du die Zeilenanpassung automatisieren willst, dann mach es nach meiner Einschätzung nur Sinn, wenn man dies z.B. an das Ereignis "Aktivieren des Blattes" koppelt.
Füge den folgenden Code im VBA Editor unter dem Blatt "13-0102" ein:
Private Sub Worksheet_Activate()
Call ZeilenHoehe20
End Sub

Wenn du vom Blatt "Einfügen" zum Blatt "13-0102" wechselst wird die Höhenanpassung der Zeilen gestartet.
Gruß
Franz

Anzeige
AW: Rückfragen: Zeilenhöhe
22.01.2014 00:19:26
Matze
Hallo Franz,
Vorschlag von meiner Seite , benutz das Worksheet_Change Ereignis im Blatt 13-102 für die Spalte
in der sich Später der lange Text befindet.
An und für sich wenn das Blatt Alle Zeilen in 20er Höhe hat, bräuchte somit nur die Zeile autofit
gemacht werden wenn diese eingegeben wird.
Es würde somit noch nicht einmal ein Makro gebraucht, gib den Text in die Zelle ein und klicke anschließen doppelt auf den unteren Rand der Zeilenbeschriftung,....TaTaaa
Gruß Matze

AW: Rückfragen: Zeilenhöhe
22.01.2014 07:22:48
Kathrin
Jetzt funktioniert alles, so wie ich es mir vorgestellt habe.
DANKE VIELMALS für die Hilfe.
Gruß Kathrin

Anzeige
AW: Rückfragen: Zeilenhöhe
20.01.2014 13:57:19
Rudi
Hallo,
ich würde sagen umgekehrt.
Erst alle Zeilen in der Höhe anpassen und anschließend alle, die niedriger als 20 sind, auf 20 setzen.
Sub kathrin()
Dim rngC As Range
Application.ScreenUpdating = False
Rows.AutoFit
For Each rngC In Range(Cells(1, 1), Cells(Rows.Count, 1).End(xlUp))
rngC.RowHeight = WorksheetFunction.Max(rngC.RowHeight, 20)
Next
End Sub
Gruß
Rudi

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige