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

Text in Spalten kontinuierlich durchführen

Text in Spalten kontinuierlich durchführen
30.01.2008 10:49:40
ballistics
Hallo!
Ich würde gerne wissen wie ich die Funktion "Text in Spalten" kontinuierlich in einer Spalte durchführen kann.
Ich will also immer das sobald Daten in diese Spalte eingefügt werden, die Daten geprüft und entsprechend meiner Eingaben getrennt werden.
Ich möchte also das meine Daten der ersten Spalte wie z.B. Bartels Langness / Famila immer wieder durch diese Funktion beim Zeichen "/" getrennt werden und anschließend in 2 Spalten wiedergegeben werden.
Vielen Dank für jede Hilfe!
Gruß Steve

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Text in Spalten kontinuierlich durchführen
30.01.2008 11:02:00
Josef
Hallo Steve,
Beispiel für Spalte "A".
Rechtsklick auf das Blattregister > Code Anzeigen > in das rechte Fenster diesen Code einfügen.
' **********************************************************************
' Modul: Tabelle3 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng As Range
If Target.Column = 1 And Target.Columns.Count = 1 Then 'für Spalte A
    Application.EnableEvents = False
    
    Target.TextToColumns Destination:=Target(1, 1), _
        DataType:=xlDelimited, _
        TextQualifier:=xlDoubleQuote, _
        ConsecutiveDelimiter:=False, _
        Tab:=False, _
        Semicolon:=False, _
        Comma:=False, _
        Space:=False, _
        Other:=True, _
        OtherChar:="/"
    
    Application.EnableEvents = True
End If
End Sub


Gruß Sepp



Anzeige
AW: Text in Spalten kontinuierlich durchführen
30.01.2008 11:54:18
ballistics
Dir übrigens auch vielen Dank!
Hat mir schon sehr geholfen!
Gruß Steve

AW: Text in Spalten kontinuierlich durchführen
30.01.2008 11:03:43
{Boris}
Hi Steve,
bezogen auf Spalte A - jede Eingabe wird auf die Eingabezelle und die benachbarte Zelle in Spalte B aufgeteilt. Code gehört in das Klassenmodul des entsprechenden Blattes (Rechtsklick auf das Blattregister, Code anzeigen, Code dort einfügen):

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Uups
With Target
If .Count = 1 And .Column = 1 Then
Application.EnableEvents = False
.Resize(1, 2).Value = Split(.Value, "/")
End If
End With
Uups:
Application.EnableEvents = True
End Sub


Grüße Boris

Anzeige
AW: Text in Spalten kontinuierlich durchführen
30.01.2008 11:08:31
ballistics
Hi vielen Dank für die schnelle Hilfe!
Und wie kann ich das jetzt ändern und auf mehrere Spalten oder andere Spalten als A und B beziehen?
Gruß und nochmal Danke!

AW: Text in Spalten kontinuierlich durchführen
30.01.2008 11:13:00
{Boris}
Hi Steve,
z.B. so (beispielhaft für die Spalten 1,3,7,9,13 und 16 - kann beliebig ergänzt/geändert werden):

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Uups
Const cMyColumns As String = "1-3-7-9-13-16" 'Hier alle Spalten aufführen und mit - trennen
With Target
If .Count = 1 And InStr(1, cMyColumns, .Column) Then
Application.EnableEvents = False
If InStr(1, .Value, "/") Then .Resize(1, 2).Value = Split(.Value, "/")
End If
End With
Uups:
Application.EnableEvents = True
End Sub


Grüße Boris

Anzeige
AW: Text in Spalten kontinuierlich durchführen
30.01.2008 11:53:00
ballistics
Also noch klappt es nicht so wie ich mir das vorstelle. Wenn ich jetzt diesen Code eingebe:
Const cMyColumns As String = "1-3-7-9-13-16"
Legt er mir dann jeweils für die Spalten 1,3,7 usw. den Inhalt dieser Spalten auf die jeweils folgenden Spalten je nach Trennungszeichen um?
Wie ist es wenn ich das aus Spalte H in die Spalten O,P,Q,R,S umgelegt haben möchte.
In Spalte H steht z.B. : Bartels Langness/Famila/Parchim/75/MÜR/K,P
Dann soll in H Bartels Langness stehen bleiben und in O soll Famila stehen und in P soll Parchim stehen usw.
Versteht ihr was ich meine?
Gruß Steve

Anzeige
AW: Text in Spalten kontinuierlich durchführen
30.01.2008 14:54:57
{Boris}
Hi,
schilder doch Deine Aufgabe direkt in Gänze, weil Du einen komplett fertigen Code brauchst, da Du die anderen nicht selbst anpassen kannst.

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Uups
Const cMyColumns As String = "-1-3-7-9-13-16-" 'Hier alle Spalten aufführen und mit - trennen
With Target
If .Count = 1 And InStr(1, cMyColumns, "-" & .Column & "-") Then
Application.EnableEvents = False
If InStr(1, .Value, "/") Then .Resize(1, Len(.Value) - Len(Replace(.Value, "/", "")) + 1). _
Value = Split(.Value, "/")
End If
End With
Uups:
Application.EnableEvents = True
End Sub


Grüße Boris

Anzeige
Sorry - noch nicht ganz...
30.01.2008 11:19:10
{Boris}
Hi Steve,
die Spalten müssen bei der Abfrage auch eindeutig sein - also so:

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Uups
Const cMyColumns As String = "-1-3-7-9-13-16" 'Hier alle Spalten aufführen und mit - trennen
With Target
If .Count = 1 And InStr(1, cMyColumns, "-" & .Column & "-") Then
Application.EnableEvents = False
If InStr(1, .Value, "/") Then .Resize(1, 2).Value = Split(.Value, "/")
End If
End With
Uups:
Application.EnableEvents = True
End Sub


Grüße Boris

Anzeige
Ich geh wieder ins Bett...
30.01.2008 11:24:00
{Boris}
Hi,
natürlich so:

Const cMyColumns As String = "-1-3-7-9-13-16-" 'Hier alle Spalten aufführen und mit - trennen (vorne und hinten auch ein -)


Grüße Boris

AW: Sorry - noch nicht ganz...
30.01.2008 11:58:44
ballistics
Also ich möchte kontinuierlich den Inhalt der Spalte H getrennt haben.
Das erste Wort soll in H stehen bleiben und die folgenden Worte die immer mit / abgetrennt sind sollen in den Spalten O,P,Q,R,S wiedergegeben werden.
Und warum hast du jetzt "-1-3-7-9-13-16" geschrieben?
Muss das "-" auch vor die 1?
Gruß Steve

Jetzt nochmal genau für Dein Beispiel...
30.01.2008 19:38:27
{Boris}
Hi,
Also ich möchte kontinuierlich den Inhalt der Spalte H getrennt haben.
Das erste Wort soll in H stehen bleiben und die folgenden Worte die immer mit / abgetrennt sind sollen in den Spalten O,P,Q,R,S wiedergegeben werden.

Dann reicht das hier:

Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo Uups
With Target
If .Count = 1 And .Column = 8 Then '8 = Spalte H
Application.EnableEvents = False
If InStr(1, .Value, "/") Then .Offset(0, 7).Resize(1, Len(.Value) - Len(Replace(.Value, "/ _
", "")) + 1).Value = Split(.Value, "/")
End If
End With
Uups:
Application.EnableEvents = True
End Sub


Grüße Boris

Anzeige
Kleine Ergänzung
30.01.2008 11:09:44
{Boris}
Hi,
...damit Texte ohne den / nicht aufgeteilt werden, die Resize-Zeile ersetzen durch:

If InStr(1, .Value, "/") Then .Resize(1, 2).Value = Split(.Value, "/")


Grüße Boris

313 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige