PDA

Vollständige Version anzeigen : Den Zeilenumbruch ALT + Enter in der Zelle entfernen


steffi23
16.05.2001, 07:46
Hallo .....

Ich habe mehrere große Tabellen indem in jeder Zelle mit ALT + Enter gearbeitet wurde um einen Zeilenumbruch in der Zelle zu generieren. Ich möchte nun das all diese Zeilenumbrüche in der Zelle gelöscht werden, so dass der Satz in einer Zeile in der Zelle steht, da ich sonst Schwierigkeiten habe die Tabellen nach Access zu importieren.
Gibt es für diese Funktion einen Automatismus, vielleicht ein Makro?

Es wäre super klasse wenn mir jemand helfen könnte, da ich mich schon seit 2 Tagen mit diesem Problem herumschlage.

Grüße Steffi

aus Heidelberg


------------------

O-Schreiner
16.05.2001, 13:56
Hi Steffi,

ähnlich wie mit den Leerstellen verfährst Du mit den Alt+Enter-Tasten (ASCII-Code = 10) folgender Code dürfte Dich zum gewünschten Ziel führen:

Sub Makro1()

Dim Zeile As Long
Dim Spalte As Long
Const MaxZeile As Long = 100
Const MaxSpalte As Long = 10

Dim Work As Long
Dim Adresse As String

Dim LängeLinks As Long
Dim Pos As Long
Dim linkerTeil As String
Dim rechterTeil As String

For Spalte = 1 To MaxSpalte
For Zeile = 1 To MaxZeile
Work = Spalte - 1

Adresse = Chr(Asc("A") + Work) ' 1 = A, 2 = B, 3 = C, ... geht bloss bis 26 = Z dann knallts sollte aber für Dein Problem reichen
Adresse = Adresse & Zeile 'jetzt sogar "A1" und "A256" etc.

Range(Adresse).Select

Pos = InStr(ActiveCell.FormulaR1C1, Chr(10)) 'Position des nächsten Alt+Enter

While Pos > 0

LängeLinks = Pos - 1

linkerTeil = Left(ActiveCell.FormulaR1C1, LängeLinks) 'alles was vor dem Alt+Enter steht
linkerTeil = Trim(linkerTeil) 'vorsorglich alle Leerstellen am Ende killen

rechterTeil = Mid(ActiveCell.FormulaR1C1, Pos + 1) 'alles was hinter dem Alt+Enter steht
rechterTeil = LTrim(rechterTeil) 'vorsorglich alle führenden Leerstellen killen

ActiveCell.FormulaR1C1 = linkerTeil & " " & rechterTeil 'und exakt EINE Leerstelle dazwischen schummeln

Pos = InStr(ActiveCell.FormulaR1C1, Chr(10)) 'Position des nächsten Alt+Enter (für While-Schleife)
Wend

Next Zeile
Next Spalte

End Sub


cu, Olly

steffi23
16.05.2001, 15:05
Danke Olly Du hast mir wieder mal sehr weitergeholfen!!


Viele liebe Grüße Steffi




------------------