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

Auto Zeilenhöhe mit Mindesthöhe

Auto Zeilenhöhe mit Mindesthöhe
16.10.2019 11:43:52
Niko
Hallo an alle,
habe folgendes Problem. Möchte in meinem vorhandenen VBA script die Zeilenhöhe automatisieren je nach Text Zeilen aber gleichzeitig sollen die Zeilen nicht kleiner als 20 sein.
Wie kann ich das im vorhandenen Script bewerkstelligen ohne die anderen Funktionen zu verändern?
Ps. Habe in den script den befehl - Rows("10:1009").RowHeight = 20 – eingefügt doch dadurch werden die Zeilen nicht größer bei Text mit mehr Zeilen.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Bereich As Range, Berechnung As Long
Berechnung = Application.Calculation
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = False
Me.Unprotect ("1234")
Set Bereich = Intersect(Target, Range("A15:A1009"))
If Not Bereich Is Nothing Then
Application.EnableEvents = False
Range("A15:A1009").EntireRow.Hidden = False
Rows("10:1009").RowHeight = 20
Range("A" & 48 + WorksheetFunction.CountA( _
Range("A15:A1009")) & ":A1009").EntireRow.Hidden = True
End If
Me.Protect ("1234")
Application.EnableEvents = True
Application.Calculation = Berechnung
Application.ScreenUpdating = True
End Sub

Danke allen im Voraus :-)

20
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Auto Zeilenhöhe mit Mindesthöhe
16.10.2019 11:48:14
Pierre
Hallo,
mit

Rows("1:100").EntireRow.AutoFit
sollte es gehen.
Gruß Pierre
AW: Auto Zeilenhöhe mit Mindesthöhe
16.10.2019 12:06:06
Niko
Hi Pierre,
automatisch würde es dann funktionieren doch damit funktioniert nicht die mindesthöhe von 20 wenn Leer.
AW: Auto Zeilenhöhe mit Mindesthöhe
16.10.2019 12:23:53
Pierre
Jap, sorry.
Ich meinem Eifer habe ich das wieder total vergessen.
ungetestet
16.10.2019 11:49:32
lupo1
With Rows("10:1009").RowHeight
.Autofit
If .Value &lt 20 Then .Value = 20
End With
(evtl. muss RowHeight reingezogen werden)
AW: ungetestet
16.10.2019 12:02:36
Niko
Danke für die schnelle antwort...doch funktionieren tut es nicht im vorhandenen script.
Kann sein, dass es im Block so nicht geht, ...
16.10.2019 12:05:13
lupo1
... sondern nur einzeln via Schleife.
Anzeige
Daniels Idee ist sehr gut, schnell, ressoucensp.
16.10.2019 12:06:52
lupo1
AW: Auto Zeilenhöhe mit Mindesthöhe
16.10.2019 12:00:56
Daniel
Hi
automatische Zeilenhöhe mit Mindesthöhe geht am einfachsten so:
formatiere eine freie Spalte am Tabellenende mit einer Schriftgröße, welche dir mit einer Zeile die gewünschte Mindestzeilenhöhe ergibt.
Dann ganz normal das Autofit ausführen.
gruß Daniel
Das widerspricht der TE-Schilderung
16.10.2019 12:04:08
lupo1
... denn mit der gewünschten Schriftart entsteht &lt20.
sorry, "freie Spalte" nicht gelesen. Stimmt.
16.10.2019 12:05:56
lupo1
AW: sorry, "freie Spalte" nicht gelesen. Stimmt.
16.10.2019 12:32:04
Niko
Hallo lupo1,
könntest du mir bitte den ganzen script senden um verstehen zu können wie dies funktionieren soll?
Danke,
Niko
Z:Z ist leer ... In A:A stehen Deine Daten
16.10.2019 12:42:56
lupo1
...
Columns("Z:Z").Font.Size = 20
Columns("A:A").Rows.AutoFit
...
AW: Z:Z ist leer ... In A:A stehen Deine Daten
16.10.2019 13:15:46
Niko
Hi,
die Zeilen Höhe auf Minimum 20 und gleichzeitig automatisch die Größe ändern wenn mehrere Text reihen vorhanden sind...bezieht sich auf denselben Bereich.
d.h dieselbe Zeile darf nicht unter 20 höhe sein und gezeitigt sich automatisch der Größe anpassen (wenn über 20 höhe) wenn Text reihen mehr werden.
...und dies alles in den vorhandenen script.... Wie? ____thx in advance :-)
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Bereich As Range, Berechnung As Long
Berechnung = Application.Calculation
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = False
Me.Unprotect ("1234")
Set Bereich = Intersect(Target, Range("A15:A1009"))
If Not Bereich Is Nothing Then
Application.EnableEvents = False
Range("A15:A1009").EntireRow.Hidden = False
Range("A" & 48 + WorksheetFunction.CountA( _
Range("A15:A1009")) & ":A1009").EntireRow.Hidden = True
End If
Me.Protect ("1234")
Application.EnableEvents = True
Application.Calculation = Berechnung
Application.ScreenUpdating = True
End Sub

Anzeige
Mitnichten ...
16.10.2019 13:37:09
lupo1
Nur durch das Einstellen eines anderen Bereichs auf die Mindestgröße über fiktive Inhalte der gewünschten Größe bekommst Du eine Mindesthöhe im gewünschten Bereich ohne Einzelbearbeitung hin.
Daniels Vorgabe war optimal.
AW: Z:Z ist leer ... In A:A stehen Deine Daten
16.10.2019 13:47:54
Daniel
also nochmal für dich, weil du offensichtlich nicht verstehts, was man dir sagt:
im Code reicht diese Änderung:
If Not Bereich Is Nothing Then
Application.EnableEvents = False
Range("A15:A1009").EntireRow.Hidden = False
     Range("A15:A1009").EntireRow.Autofit
     Range("A" & 48 + WorksheetFunction.CountA( _
Range("A15:A1009")) & ":A1009").EntireRow.Hidden = True
End If
du musst allerdings vorher in der Tabelle von Hand in einem freien Bereich ohne Inhalte (vielleicht Z15:Z1009) die Schriftgröße auf 20 (oder einen anderen Wert) setzen. dh in diesen Zellen eine Kombination aus Schriftart und -größe einstellen, welche schon mit einer einzigen Textzeile die gewünschte Mindestzeilenhöhe ergeben würde.
Excel berücksichtigt dies dann beim Automatischen ermitteln der Zeilenhöhe, auch dann, wenn diese Zellen leer sind.
Gruß Daniel
Anzeige
weitere Vorteil dieser Methode
16.10.2019 13:49:13
Daniel
das funktioniert auch, wenn du von Hand die Zeilenhöhe automatisch anpasst (Doppelklick auf auf den Rand in den Zeilenköpfen)
Gruß Daniel
AW: weitere Vorteil dieser Methode
16.10.2019 14:22:00
Niko
Hi Daniel,
das lupo1 nicht dran schuld ist...ist mehr als korrekt :-)
das ich als nicht wissender schwer von Begriff bin...ist auch korrekt :-)
doch dies alles beruht wie du rechtens darauf hingewiesen hast auf meine Unwissenheit :-(
...die ich versuche zu erleuchten...zwar nicht mit großen Erfolg...aber versuchen tue ich es :-))
Wie auch immer, um es besser verstehen zu können sende ich mal die Datei.
Habe zwar versucht wie du gesagt hast in eine Zeile (1009) auf Höhe 20 zu setzen doch es klappt nicht. Irgendwas mache ich falsch :-( …und bekomme es nicht mal mit.
Wenn du es mir in dieser Datei verdeutlichen würdest wie dies geschehen soll, würde es mir sehr helfen.
https://www.herber.de/bbs/user/132555.xlsm
Danke im Voraus und sry wenn ich mit meiner Unwissenheit auf die Nerven gehe…es ist nicht meine Absicht, auch wenn meine Unwissenheit diesen Anschein vermittelt :-)
Anzeige
AW: weitere Vorteil dieser Methode
16.10.2019 14:31:57
Daniel
Lösch das Makro und nimm dir einen persönlichen Coach.
wenn ich schreibe: "formatiere eine freie Spalte"
und du machst daraus " in eine Zeile (1009)" dann werden wir ewig aneinander vorbeireden und es wird schwierig, dir über das Forum zu helfen.
Du brauchst persönliche Beratung und die kann ein Forum nicht leisten.
Gruß Daniel
AW: weitere Vorteil dieser Methode
16.10.2019 14:45:16
Niko
Jetzt hat es gefunzt...Spalte!!!
Wollte doch Zeilen einstellen und nicht spalten...war voll auf Zeile fixiert.
wie hängt dies logisch zusammen, dass dadurch die Zeilen auf die Höhe formatiert werden?
Ist alles Ok jetzt, es funktioniert...auch wenn ich den Zusammenhang nicht verstehen kann.
Ps. Ich weiß das ich Geduld strapazieren kann, doch wenn ich es nicht tue werde ich es auch nie lernen.
Danke,
Niko
Anzeige
AW: weitere Vorteil dieser Methode
16.10.2019 14:57:13
Daniel
ja klar
in jeder Zeile willst du die Zeilenhöhe einstellen und daher brauchst du in jeder Zeile eine Zelle, welche dir bei der automatischen Ermittlung der Zeilenhöhe die die mindestzeilenhöhe ergibt.
und die bekommt man am einfachsten, wenn man in einer Spalte den Schriftgrad entsprechend einstellt.
Gruß Daniel

16 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige