Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1768to1772
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

Zeilenumbruch finden und Zeile anpassen

Zeilenumbruch finden und Zeile anpassen
13.07.2020 08:51:59
Sleepyhead
Guten Morgen zusammen,
jetzt habe ich auch schon die nächste Frage.
In meinem Worksheet "Matrix" können Daten manuell eingegeben werden oder in einer seperaten Tabelle auf dem selben Sheet eingefügt werden.
In der seperaten Tabelle kann es allerdings dazu kommen, dass Zeilenumbrüche vorhanden sind.
Die Daten aus der seperaten Tabelle werden per ButtonClick in die Tabelle für die manuelle Eingabe kopiert.
Nun möchte ich, dass, wenn Zeilenumbrüche vorhanden sind sich die manuelle Tabelle automatisch anpasst.
Versucht habe ich dies folgendermaßen.
https://www.herber.de/bbs/user/139000.xlsx
Public Sub Zeilen_Anpassen()
Dim i As Integer
For i = 17 to 56
If Cells(i,2).wraptext = true Then
Rows(i).autofit
ElseIf Cells(i,2).wraptext = False Then
Rows(i).rowheight = Rows(1).rowheight
End If
next i
End Sub
Dadurch versuche ich die Zeilenhöhe immer richtig anzupassen.
Vermutlich ist .wraptext die falsche Abfrage.
Was passiert wenn ich dies mache ist, dass in den oberen Zeilen (zwischen i=2 und ca. i=20) die Zeilenhöhe geändert wird, allerding nicht die Zeilen, die ich geändert haben möchte.
Ich bin für jede Hilfe dankbar!
Liebe Grüße
Sleepyhead

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilenumbruch finden und Zeile anpassen
13.07.2020 09:02:31
Sleepyhead
https://www.herber.de/bbs/user/139006.xlsm
das ist der jetzige Code ohne die Zeilumbruchskorrektur
der vorherige war noch nicht aktualisiert.
AW: Zeilenumbruch finden und Zeile anpassen
13.07.2020 10:27:09
Sleepyhead
Ich habe weiter gesucht und folgendes gefunden
Chr(10) ist der Ausdruck für einen zeilenumbruch, kann ich nun irgendwie über z.B.
If InStr(Cells(i,2),Chr(10)) = 1 Then
Cells(i,2).rowheight = 25
Else
Cells(i,2).rowheight = 14.25
End If
die Zeilen an meine gewünscht Höhe anpassen lassen?
So wie ich es versucht habe funktioniert es leider nicht.
Wenn ich "InStr" richtig verstehe, dann würde ich ja oben genau nach dieser Zeichenfolge suchen und nicht nach dem Zeilenumbruch.
Kann mir jemand sagen wie ich den Zeilenumbruch auslesen lassen kann?
Vielen Dank im Vorraus
Sleepyhead
Anzeige
AW: Zeilenumbruch finden und Zeile anpassen
13.07.2020 10:54:36
Daniel
Hi
Instr gibt dir die Position des gesuchten Zeichens innerhalb des Textes der zurück.
Dh ist das Zeichen im Text nicht enthalten, bekommst du eine 0,
kommt das Zeichen im Text vor, bekommst du eine Zahl größer 0 als Ergebnis.
dh wenn du wissen willst, ob der Umbruch vorhanden ist, reicht:
If Instr(DeinText, vbLF) > 0
wenn du wissen willst, wie oft der Umbruch vorkommt, musst das so berechnen:
(Len(DeinText) - Len(Replace(DeinText, vbLF, "")))/Len(vbLF)
Gruß Daniel
PS. vbLF ist die Systemkonstante für CHR(10)
Anzeige
AW: Zeilenumbruch finden und Zeile anpassen
13.07.2020 11:07:17
Sleepyhead
Vielen vielen Dank,
was genau bedeutet der Ausdruck vbLF?
Jetzt klappt es so wie ich es haben wollte ;)
Grüße
Sleepyhead
AW: Zeilenumbruch finden und Zeile anpassen
13.07.2020 11:16:40
Daniel
Hi
viele häufig benutze Text- und Zahlenwerte sind in VBA als Systemkonstante hinterlegt, damit man sich nicht eine kryptische Zahl, sondern einen aussagekräftigen Text merken muss (das fällt den meisten Menschen leichter)
das "vb" steht hier dafür, dass es eine Visual-Basic-Konstante ist (daneben gibt es noch "xl" für Excel-Konstanten), daran erkennt man aus welchem Bereich die Konstante kommt
das "LF" steht dann für "LineFeed"
hinter dieser Konstanten verbirgt sich dann das Zeichen für den LineFeed.
ok, das vbLF ist auf den ersten Blick auch noch kryptisch wenn man den Hintergrund nicht kennt, aber spätestens bei: "Cells(..).Interior.Color = vbRed"
sollte klar werden, worum es geht.
oder ein:
Range(…).Find(what:="abc", lookin:=xlvalues, lookat:=xlpart)
ist doch deutlich sprechender als ein
Range(…).find("abc", ,2 ,-4163)
Gruß Daniel
Anzeige
AW: Zeilenumbruch finden und Zeile anpassen
13.07.2020 11:25:08
Sleepyhead
Dankeschön Daniel,
so lernt man doch gleich dazu und macht dieselben Fehler nicht nochmal ;)

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige