Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
468to472
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
468to472
468to472
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Automatisch Zeilenhöhe anpassen mit VBA

Automatisch Zeilenhöhe anpassen mit VBA
15.08.2004 23:54:59
Michael
Hallo,
ich möchte per Makro die Zeilenhöhe automatisch anpassen, wenn der in der Zelle eingegebene Text z.B. über 3 Zeilenumbrüche hinaus geht. Die Zeilenumbrüche macht Excel ja tadellos, geht mein Text aber darüber hinaus, soll Excel mir automatisch die Zeilenhöhe anpassen, bzw. erweitern.
Ist das möglich ?

Private Sub Worksheet_Change(ByVal Target As Range)
Rows("12:18").Select
Selection.Rows.AutoFit
Range("D7").Select
End Sub

mit dem Makro gehts schon mal nicht :-(
Gruß
Michael
AW: Automatisch Zeilenhöhe anpassen mit VBA
sicci
Hallo Michael,
automatisch anpassen kannst Du die Zeilenhöhe zB so:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Target.WrapText = True
End Sub

Bei meinem Excel97 liegt die Zeilenhöhenbegrenzung aber bei 409,5 pt
schau mal in der Excel-Hilfe unter Zeilenhöhe - 'Angaben zur Arbeitsumgebung' o.ä. wie es bei Deinem OfficeXP ist.
Gruß sicci
AW: Automatisch Zeilenhöhe anpassen mit VBA
16.08.2004 10:09:06
Michael
Hallo Sicci,
das funktioniert leider auch nicht, mehr wie 3 Zeilen untereinander bekomme ich nicht in die Zelle, alles was darüber hinaus geht an Text oder z.B. per manuellem Zeilenumbruch ( Alt + Enter ) in Zeile 4 stehen müsste verschwindet in der Unsichtbarkeit.
Gruß
Micha
Anzeige
Automatisch Zeilenhöhe anpassen mit VBA
Beate
Hallo Mich,
dann probier mal das (Code ins Codefenster der Tabelle):
Public Zeile As Integer

Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
If ActiveCell.Row > 11 And ActiveCell.Row < 19  Then
Rows(Zeile).AutoFit
Zeile = ActiveCell.Row
End If
End Sub

Gruß,
Beate
AW: Automatisch Zeilenhöhe anpassen mit VBA
16.08.2004 11:34:49
Michael
Hi Beate,
das Makro funktioniert bei mir nur teilweise, wenn ich mehrere Zeilenumbrüche in Zelle A12 oder B12 habe, passt es mir automatisch die Zeilenhöhe an, soweit sogut, sobald ich aber in C12 mehrere Zeilenumbrüche habe, funktioniert das nicht mehr, er richtet sich immer nach dem Inhalt von Spalte A oder B. Muß allerdings dazu sagen, daß ich in den Zeilen 12 - 18 die Spalten C - K jeweils zu einer Zelle verbunden habe. Könnte es daran liegen ?
Danke schon mal
Gruß
Micha
Anzeige
Automatische Zeilenhöhe bei verbundenen Zellen
Beate
Hallo Micha,
die verbundenen Zellen verursachen das Problem. Dann nimm den Code (ins Codefenster der Tabelle):

Private Sub Worksheet_Change(ByVal Target As Range)
Dim CurrentRowHeight As Single, MergedCellRgWidth As Single
Dim CurrCell As Range
Dim ActiveCellWidth As Single, PossNewRowHeight As Single
If ActiveCell.MergeCells Then
With ActiveCell.MergeArea
If .Rows.Count = 1 And .WrapText = True Then
Application.ScreenUpdating = False
CurrentRowHeight = .RowHeight
ActiveCellWidth = ActiveCell.ColumnWidth
For Each CurrCell In Selection
MergedCellRgWidth = CurrCell.ColumnWidth + MergedCellRgWidth
Next
.MergeCells = False
.Cells(1).ColumnWidth = MergedCellRgWidth
.EntireRow.AutoFit
PossNewRowHeight = .RowHeight
.Cells(1).ColumnWidth = ActiveCellWidth
.MergeCells = True
.RowHeight = IIf(CurrentRowHeight > PossNewRowHeight, _
CurrentRowHeight, PossNewRowHeight)
End If
End With
End If
Application.ScreenUpdating = True
End Sub

Gruß,
Beate
Anzeige
AW: Automatische Zeilenhöhe bei verbundenen Zellen
16.08.2004 12:13:50
Michael
Hi Beate,
hab das Makro reinkopiert, aber es klappt immer noch nicht...leider, bestimmt Bedienerfehler :-)
Aber erst mal Respekt, bei dem letzten Makro war mir ja noch so einigermaßen klar was da passiert, aber das hier übersteigt meine geringen VBA Kenntnisse bei weitem.
Kannst Du dir die Tabelle vielleicht mal anschauen, werde sie mal zu Herber hochladen, es geht um Tabelle 3 ( Montagebericht ) um die Zellen bei durchgeführte Arbeiten.
Das Ding hat sicherlich noch mehr Fehler, aber die sollte ich schon hinbekommen, die Sache mit der Automatischen Zeilenhöhe jedoch raubt mir noch den Verstand. :-(
https://www.herber.de/bbs/user/9690.xls
Vielen Dank
Gruß
Micha
Anzeige
Automatische Zeilenhöhe bei verbundenen Zellen
Beate
Hallo Micha,
mit dem Makro von eben lief es bei mir auch nicht, aber dann mit dieser Variante:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim CurrentRowHeight As Single, MergedCellRgWidth As Single
Dim CurrCell As Range
Dim ActiveCellWidth As Single, PossNewRowHeight As Single
If ActiveCell.Row > 11 And ActiveCell.Row < 19 Then
If ActiveCell.MergeCells Then
With ActiveCell.MergeArea
If .Rows.Count = 1 And .WrapText = True Then
Application.ScreenUpdating = False
CurrentRowHeight = .RowHeight
ActiveCellWidth = ActiveCell.ColumnWidth
For Each CurrCell In Selection
MergedCellRgWidth = CurrCell.ColumnWidth + MergedCellRgWidth
Next
.MergeCells = False
.Cells(1).ColumnWidth = MergedCellRgWidth
.EntireRow.AutoFit
PossNewRowHeight = .RowHeight
.Cells(1).ColumnWidth = ActiveCellWidth
.MergeCells = True
.RowHeight = IIf(CurrentRowHeight > PossNewRowHeight, _
CurrentRowHeight, PossNewRowHeight)
End If
End With
End If
End If
Application.ScreenUpdating = True
End Sub

Gruß,
Beate
Anzeige
AW: Automatische Zeilenhöhe bei verbundenen Zellen
16.08.2004 12:42:22
Michael
Hallo Beate,
also langsam bekomme ich ein schlechtes Gewissen, weil Du dir meinetwegen soviel Arbeit machst, aber ich hab es immer noch nicht ans laufen gebracht :-(
Hast Du dir mal die Datei runtergeladen ?
Gruß
Micha
Automatische Zeilenhöhe bei verbundenen Zellen
Beate
Hallo Micha,
hatte ich und hier ist sie Retour:
https://www.herber.de/bbs/user/9698.xls
Gruß,
Beate
PS: es handelt sich nicht um eine Eigenentwicklung - die Arbeit beschränkt sich aufs Raussuchen des Codes und eventuell Anpassen.
AW: Automatische Zeilenhöhe bei verbundenen Zellen
16.08.2004 13:23:57
Michael
Hi Beate,
also langsam glaube ich es liegt an meinem Excel hier, hab die Datei von Dir runtergeladen und es klappt einfach nicht, in Spalte A & B klappts jetzt auch nicht mehr....(verzweifel) !! Kann es sein, daß ich da was falsch eingestellt hab im Excel ?
Schönen (verzweifelten) Gruß
Micha
Anzeige
AW: Automatische Zeilenhöhe bei verbundenen Zellen
Beate
Hallo Micha,
ist dein System scharf? (Damit Worksheet_Change überhaupt anspringt?)
Lass vor dem nächsten Test mal kurz dieses Makro ablaufen oder starte Excel neu:

Sub Reset()
Application.EnableEvents = True
End Sub

Sonst fällt mir auch nichts mehr ein.
Gruß,
Beate

85 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige