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

Zellinhalte aufteilen per VBA

Zellinhalte aufteilen per VBA
19.11.2002 17:15:06
MikeS
Hallo Leute,

in Spalte A (beginnend mit A2) stehen in jeder Zelle mehrere
Wörter (durch " " voneinander getrennt), die ich per VBA
in die Nachbarzellen aufteilen möchte.

z.B.:

A2 = "Der Baum ist blau"

dann Aufteilung so:

B2 = "Der"
C2 = "Baum"
D2 = "ist"
E2 = "blau"

Bitte helft mir, ist dringend.

Vielen Dank
MikeS

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Zellinhalte aufteilen per VBA
19.11.2002 17:28:24
ANdreas
Hallo Mike,

mit VBA geht´s z.B. so:
Viel Spaß,
Andreas

für alle Zellen in Spalte A?
19.11.2002 20:12:41
MikeS
Hi Andreas,

vielen Dank für Deine Lösung.

Ich benötige aber eine Lösung, die alle Zellinhalte der
1.Spalte (beginnend bei A2) bis zur ersten leeren Zelle
in die Nachbarzellen aufteilt.

Vielleicht noch 'ne Idee?

Ciao MikeS

Re: für alle Zellen in Spalte A!
19.11.2002 20:47:10
Peter Feustel
Hallo Mike,

so sollte es gehen:

Sub TextTrennen()
'
' in Spalte A (beginnend mit A2) stehen in jeder Zelle mehrere
' Wörter (durch " " voneinander getrennt), die ich per VBA
' in die Nachbarzellen aufteilen möchte.
'
' z.B.: A2 = "Der Baum ist blau"
'
' dann Aufteilung so:
'
' B2 = "Der"
' C2 = "Baum"
' D2 = "ist"
' E2 = "blau"
'

Dim sText As String ' der eingegebene Text
Dim iPos As Integer ' die Position des Space (Trennzeichen)
Dim intCol As Integer ' die Beginn-Spalte der Aufsplittung
Dim iIndx As Integer ' For/Next Index
Dim lLetzte As Long ' letzte zu bearbeitende Zeile

lLetzte = Range("A65536").End(xlUp).Row

For iIndx = 2 To lLetzte
sText = Range("A" & iIndx).Value ' den Text holen
iPos = InStr(sText, " ") ' Space-Position feststellen
intCol = 2 ' Beginn der Aufteilungs-Spalte
While iPos > 0 ' solange Space gefunden wurde
Cells(iIndx, intCol).Value = Left(sText, iPos - 1)
sText = Right(sText, Len(sText) - iPos)
iPos = InStr(sText, " "): intCol = intCol + 1
Wend
Cells(iIndx, intCol).Value = sText
Next iIndx

End Sub

Gruß, Peter

Anzeige
Re: etwas eleganter
19.11.2002 21:19:06
Peter Feustel
Hallo Mike,

hier noch eine etwas 'elegantere' Version:

Sub TextTrennen()
'

Dim sText As String ' der eingegebene Text
Dim iPos As Integer ' die Position des Space (Trennzeichen)
Dim iCol As Integer ' die Beginn-Spalte der Aufsplittung
Dim iIndx As Integer ' For/Next Index

For iIndx = 2 To Range("A65536").End(xlUp).Row ' von Zeile 2 bis Ende
sText = Range("A" & iIndx).Value ' den Text holen
iPos = InStr(sText, " ") ' Space-Position feststellen
iCol = 2 ' Beginn der Aufteilungs-Spalte
While iPos > 0 ' solange Space gefunden wurde
Cells(iIndx, iCol).Value = Left(sText, iPos - 1) ' Zellen ab B befüllen
sText = Right(sText, Len(sText) - iPos) ' Eingabetext "verkürzen"
iPos = InStr(sText, " ") ' Space suchen
iCol = iCol + 1 ' nächste Spalte errechnen
Wend
Cells(iIndx, iCol).Value = sText ' letztes Wort übertragen
Next iIndx ' nächste Zeile

End Sub

Gruß, Peter

Anzeige
Dankeschön, perfekt!!!
22.11.2002 18:32:57
MikeS
o.T.

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige