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

Zeilenumbruch
08.11.2014 14:14:08
Mark

Einen schönen guten Abend wünsche ich Euch , ich habe ein kleines Problem
ich habe folgenden Code...


Private Sub Worksheet_Change(ByVal Target As Range)
Dim strText$, strText2$, strTextNeu$
If Intersect(Target, Columns(1)) Is Nothing Then Exit Sub
strText = Target
Do
If Len(strText) < 20 Then
strText2 = strText
Else
strText2 = Left(strText, InStrRev(Left(strText, 19), " ") - 1)
End If
strTextNeu = IIf(strTextNeu = "", strText2, strTextNeu & Chr(10) & strText2)
strText = Trim(Right(strText, Len(strText) - Len(strText2)))
Loop While strText <> ""
Application.EnableEvents = False
Target = strTextNeu
Application.EnableEvents = True
End Sub
dieser funktioniert aber leider nur in meinem Blankdokument, nicht jedoch in meinem Tabellendokument, kann aber nicht herausfinden ob es irgendwelche Konflikte gibt, kann mir jemand helfen oder Tipps geben??
Gruß, Mark

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

Betreff
Datum
Anwender
Anzeige
AW: Zeilenumbruch
08.11.2014 14:27:50
Hajo_Zi
Hallo Mark,
ich hätte den Code ein wenig anders geschrieben.
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim strText$, strText2$, strTextNeu$
If Not Intersect(Target, Columns(1)) Is Nothing Then
Dim dblCount As Double
If CallByName(Selection, IIf(Val( _
Application.Version) > 11, "CountLarge", "Count"), VbGet) = 1 Then
' von Nepumuk
strText = Target
Do
If Len(strText) < 20 Then
strText2 = strText
Else
If InStr(strText, " ") > 0 Then
Exit Do
Else
strText2 = Left(strText, InStrRev(Left(strText, 19), " ") - 1)
End If
End If
strTextNeu = IIf(strTextNeu = "", strText2, strTextNeu & Chr(10) & strText2)
strText = Trim(Right(strText, Len(strText) - Len(strText2)))
Loop While strText <> ""
Application.EnableEvents = False
Target = strTextNeu
Application.EnableEvents = True
End If
End If
End Sub
Ich konnte nicht sehe was Du für ein Problem hast. Was wohl daran liegt das ich Deinen Test nicht gesehen habe.

Anzeige
AW: Zeilenumbruch
08.11.2014 15:13:07
Mark
erstmal ganz lieben Dank für die schnelle Antwort.
Also, nein, es gibt keine Fehlermeldung, wenn ich den Code einfüge.
der Code soll ja in jeder Zelle des Dokuments funktionieren indem er Die Eingabe mit 20 Zeichen pro Zeile, in einer Zelle beschränkt und danach eine neue Zeile anfängt.
Ich habe in meiner Tabelle freie Zelle (ohne Formatierung) und Zellen die mit Formeln (meist WENN- Formeln), weiterhin haben viele Zellen ein Dropdownmenü( was ich aber schon auf einem neuen leeren Blatt ausprobiert habe und es damit keine Probleme gab.
Ich habe gedacht, den Code einfach fürs ganze Blatt anzuwenden ohne feste Ziele zu beschreiben, da es sehr viele Zellen sind, die damit angesprochen werden sollen.
soll ich Dir die Tabelle mal als anhang schicken?
Ich denke, das irgendetwas in meiner Tabelle den Code stört, ich weiß nur nicht was.
Lieben Gruß,
Mark
PS ich probiere den Code nachher mal aus.

Anzeige
AW: Zeilenumbruch
08.11.2014 15:17:16
Hajo_Zi
Hallo Mark,
auf Formeln reagiert der Code nicht.
Gruß Hajo

AW: Zeilenumbruch
08.11.2014 20:20:30
Mark
ok welche möglichkeit habe ich noch um die Zeilen einer Zelle zu beschränken?

AW: Zeilenumbruch
08.11.2014 20:15:47
Mark
also ich habe jetzt alles ausprobiert aber der Code funktioniert nur ein einem leeren Dokument, egal was ich mache.
Ich denke irgendetwas stört den Code, aber ich weiß nicht was.
kannst Du mir noch,al weiterhelfen. Ich habe die Datei auf den Server gelegt
Lieben Gruß, Mark

AW: Zeilenumbruch
08.11.2014 22:29:13
Daniel
Hi
Das Problem liegt daran, dass du in dieser Programmzeile mit Columns(1) festlegt,
If Not Intersect(Target, Columns(1)) Is Nothing Then

Dass...

AW: Target mit mehreren Zellen?
08.11.2014 14:50:47
Daniel
Hi
Du solltest schon etwas genauer beschreiben, was nicht funktioniert.
Gibt es ein Fehlermeldung?
wenn ja, welche und in welcher Zeile tritt sie auf?
Welche Zelle(n) umfasst Target und was steht dann in der Zelle drin?
Eine Fehlermöglichkeit die viele übersehen ist, dass Target nicht nur aus einer Zelle bestehen kann, sondern aus mehreren.
Das passiert beispielsweise oft beim Leeren von Zellen oder wenn man mit Kopieren Daten überträgt.
Dein Code ist darauf aber nicht eingerichtet.
Probiere mal ob der Code funktioniert, wenn du von Target immer nur die erste Zelle verwendest und überall Target(1) schreibst.
Gruß Daniel

Anzeige
AW: Target mit mehreren Zellen?
08.11.2014 15:11:45
Mark
erstmal ganz lieben Dank für die schnelle Antwort.
Also, nein, es gibt keine Fehlermeldung, wenn ich den Code einfüge.
der Code soll ja in jeder Zelle des Dokuments funktionieren indem er Die Eingabe mit 20 Zeichen pro Zeile, in einer Zelle beschränkt und danach eine neue Zeile anfängt.
Ich habe in meiner Tabelle freie Zelle (ohne Formatierung) und Zellen die mit Formeln (meist WENN- Formeln), weiterhin haben viele Zellen ein Dropdownmenü( was ich aber schon auf einem neuen leeren Blatt ausprobiert habe und es damit keine Probleme gab.
Ich habe gedacht, den Code einfach fürs ganze Blatt anzuwenden ohne feste Ziele zu beschreiben, da es sehr viele Zellen sind, die damit angesprochen werden sollen.
soll ich Dir die Tabelle mal als anhang schicken?
Ich denke, das irgendetwas in meiner Tabelle den Code stört, ich weiß nur nicht was.
Lieben Gruß,
Mark

Anzeige
AW: Target mit mehreren Zellen?
08.11.2014 16:13:16
Daniel
Hi
Das bereitstellen einer Beispieltabelle ist immer sinnvoll, dann seit man meist sofort woran es liegt und muss nicht lange raten.
Nutze die Uploadfunktion des Forums.
Gruß Daniel

AW: Target mit mehreren Zellen?
08.11.2014 20:19:24
Mark
ok habe die datei hochgeladen

AW: Target mit mehreren Zellen?
08.11.2014 22:31:35
Daniel
... der Code nur ausgeführt wird, wenn die Eingabe in Spalte A (Spalte 1) erfolgt.
...

AW: Target mit mehreren Zellen?
08.11.2014 20:21:57
Mark
ok habe die datei hochgeladen
PW: indivita

AW: Target mit mehreren Zellen?
08.11.2014 22:33:29
Daniel
.. und in deiner Echtdaten erfolgt die Eingabe aber in Spalte B, daher musst du den Code entsprechend anpassen und das Columns(1) in Columns(2) abändern.
Gruß Daniel

AW: Target mit mehreren Zellen?
08.11.2014 23:39:09
Mark
Ok
Werde es morgen ausprobieren.
Eine frage habe ich aber noch.
Was muss ich am code ändern wenn in spalte b.c.d was eingetragen wird? Was dann auch der fall sein wird. In spalte b werden dann nur probleme, in c nur ziele und d die massnahmen eingetragen.
Also werden alle 3 spalten definitiv beschriftet.
Nochmal herzlichen dank für die schnelle und vute hilfe

Anzeige
AW: Target mit mehreren Zellen?
09.11.2014 00:38:33
daniel
Einen Zell Bereich über mehrere Spalten beschreibt man mit Range("B:D") Spaltenbuchstabe der ersten Spalte : Spaltenbuchstabe der letzten Spalte oder mit Columns(x).Resize(, y), mit x als Spalte Nummer der ersten Spalte und y als Anzahl der Spalten.
GRUSS Daniel.

AW: Target mit mehreren Zellen?
09.11.2014 01:02:41
Mark
Wow, danke
Werde es heute früh wenn ich von der Arbeit komme ausprobieren.
Nochmals ganz herzlichen Dank
Gruß
Mark

AW: Target mit mehreren Zellen?
10.11.2014 11:00:58
Mark
so, herzlichen Dank, für Eure Hilfe, es funktioniert alles, Ihr seid echt klasse :-)
Danke nochmal an alle
Gruß,
Mark

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige