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

Text in Spalten kontinuierlich
01.02.2008 09:42:00
ballistics
Also ich versuche es jetzt nochmal! Vielleicht klappt es ja! :)
Also ich möchte lediglich die Funktion Text in Spalten als VBA Projekt in mein Excel einfügen.
Ich möchte es deshalb als VBA haben weil ich diese Funktion kontinuierlich ausführen will. Das heisst sobald Text in die betreffende Spalte eingetragen wird, soll dieser auf das Trennzeichen "/" überprüft werden und dort getrennt werden.
Das Destination Target (Zielbereich) soll sich aber nicht hinter der zu trennenden Spalte befinden sondern ein paar Spalten weiter hinten. Die Spalten dazwischen möchte ich anderweitig benutzen.
Fällt euch dazu was ein?
Gruß Steve

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

Betreff
Datum
Anwender
Anzeige
AW: Text in Spalten kontinuierlich
01.02.2008 10:04:00
Chris
Servus miteinander,
zur Info:
Das Makro funktioniert und auch in der Datei, die du mir geschickt hast,Steve. Aber vielleicht, weiß ja noch einer was Besseres.
Hier der Link
https://www.herber.de/forum/archiv/944to948/t946837.htm#946837
Gruß
Chris

AW: trotzdem noch offen !
01.02.2008 10:05:40
Chris
.

AW: trotzdem noch offen !
01.02.2008 10:32:00
ballistics
Hallo Chris!
Sorry für die Umstände! Aber es war mein Fehler! Es klappt alles wunderbar!
Vielen Dank!
Gruß Steve

AW: trotzdem noch offen !
01.02.2008 11:02:52
ballistics
Hi Chris! Jetzt muss ich doch nochmal nerven! Ich habe das Problem wohl gefunden. Es ist so, dass der Code nicht klappt wenn ich einen kompletten Datensatz aus einer anderen Tabelle in die Tabelle mit den Code kopieren will. Diese andere Tabelle sieht genauso aus. Gleiche Überschriften etc. Nur anderer Inhalt. Und dieser Inhalt soll ja auch in Spalte H getrennt werden! Doch das passiert leider nur wenn ich nun mauell eine Eingabe mache. Kopiere ich nur Daten in diesen Bereich sagt er mir
Laufzeitfehler -- Debuggen?
If Target.Value = "" Then -- Dieser Codebereich wird dann gelb makiert

Private Sub Worksheet_Change(ByVal Target As Range)
Dim reihe As Long
Dim i As Integer
Dim zähler As Double
Dim neu As String, neu1 As String
If Target.Value = "" Then
Exit Sub
End If
If Not Intersect(Target, Range("H:H")) Is Nothing Then
reihe = Target.Row
neu = Target.Value
With Target
For i = 1 To Len(neu)
zähler = zähler + 1
If Mid(neu, i, 1) = "/" Then
Exit For
End If
If zähler = Len(neu) Then
Exit Sub
End If
Next i
neu1 = Right(neu, Len(neu) - zähler)
Range("O" & reihe) = neu1
End With
Range("O" & reihe).TextToColumns Destination:=Range("O" & reihe), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
:="/", FieldInfo:=Array(Array(1, 1), Array(2, 1)), TrailingMinusNumbers:=True
Range("H" & reihe) = Left(neu, zähler - 1)
End If
End Sub


Gruß Steve

Anzeige
AW: trotzdem noch offen !
01.02.2008 14:15:18
Chris
Servus Steve,
dann so:

Private Sub Worksheet_Change(ByVal Target As Range)
Dim reihe As Long
Dim i As Integer
Dim zähler As Double
Dim neu As String, neu1 As String
If Target.Cells.Count > 1 Then
Call ausweich
Exit Sub
End If
If Target.Value = "" Then
Exit Sub
End If
If Not Intersect(Target, Range("H:H")) Is Nothing Then
reihe = Target.Row
neu = Target.Value
For i = 1 To Len(neu)
zähler = zähler + 1
If Mid(neu, i, 1) = "/" Then
Exit For
End If
If zähler = Len(neu) Then
Exit Sub
End If
Next i
neu1 = Right(neu, Len(neu) - zähler)
Range("O" & reihe) = neu1
Range("O" & reihe).TextToColumns Destination:=Range("O" & reihe), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
:="/", FieldInfo:=Array(Array(1, 1), Array(2, 1)), TrailingMinusNumbers:=True
Range("H" & reihe) = Left(neu, zähler - 1)
End If
End Sub


Sub ausweich()
Dim reihe As Long
Dim i As Integer
Dim zähler As Double
Dim neu As String, neu1 As String
reihe = ActiveCell.Row
If Range("H" & reihe) "" Then
neu = Range("H" & reihe)
For i = 1 To Len(neu)
zähler = zähler + 1
If Mid(neu, i, 1) = "/" Then
Exit For
End If
If zähler = Len(neu) Then
Exit Sub
End If
Next i
neu1 = Right(neu, Len(neu) - zähler)
Range("O" & reihe) = neu1
Range("O" & reihe).TextToColumns Destination:=Range("O" & reihe), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
:="/", FieldInfo:=Array(Array(1, 1), Array(2, 1)), TrailingMinusNumbers:=True
Range("H" & reihe) = Left(neu, zähler - 1)
Else
Exit Sub
End If
End Sub


Das geht aber nur für einzelne Zeilen, bei Blöcken wird nur die erste Zeile des Blocks transformiert. Beide Makros in das gleiche Tabellenblatt (alt+F11, u.s.w.)
Gruß
Chris

Anzeige
AW: kleine Korrektur!
01.02.2008 16:59:25
Chris
Servus Steve,

Sub ausweich()
Dim reihe As Long
Dim i As Integer
Dim zähler As Double
Dim neu As String, neu1 As String
Dim anz As Long
anz = Selection.Rows.Count
reihe = ActiveCell.Row
Dim II As Integer
For II = reihe To reihe + anz - 1
If Range("H" & II)  "" Then
neu = Range("H" & II)
For i = 1 To Len(neu)
zähler = zähler + 1
If Mid(neu, i, 1) = "/" Then
Exit For
End If
If zähler = Len(neu) Then
Exit Sub
End If
Next i
neu1 = Right(neu, Len(neu) - zähler)
Range("O" & II) = neu1
Range("O" & II).TextToColumns Destination:=Range("O" & II), DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=False, _
Semicolon:=False, Comma:=False, Space:=False, Other:=True, OtherChar _
:="/", FieldInfo:=Array(Array(1, 1), Array(2, 1)), TrailingMinusNumbers:=True
Range("H" & II) = Left(neu, zähler - 1)
End If
zähler = 0
Next II
End Sub


mit dem neuen makro


Sub ausweich() kannst du jetzt auch Blöcke kopieren und es funktioniert trotzdem, wie es soll.
Gruß
Chris

Anzeige

312 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige