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

nächstes Wort in nächste Spalte

nächstes Wort in nächste Spalte
14.01.2003 19:59:08
Tim
Ich habe hier folgende Split Funktion gefunden, die auch unter 97 funktioniert:
Sub mySplit()
Dim A() As String
Dim j As Integer
Dim i As Long
Dim NextPos As Long
NextPos = 1
For i = 1 To Len(ActiveCell.Value)
If Mid(ActiveCell.Value, i, 1) = "," Or i = Len(ActiveCell.Value) Then
ReDim Preserve A(j)
If i < Len(ActiveCell.Value) Then
A(j) = Mid(ActiveCell.Value, NextPos, i - NextPos)
Else
A(j) = Mid(ActiveCell.Value, NextPos, i)
End If
j = j + 1
NextPos = i + 1
End If
Next
For i = 0 To UBound(A)
Cells(i + 1, 1) = A(i)
Next
End Sub

Wenn ich die entsprechend modifiziere wird dadurch ein String der durch Kommata getrennt ist zerlegt und die Einzelteile schreiben sich in der Spalte A abwärts in die Tabelle. Ich komme nun nicht darauf, wie ich es anstellen kann, dass die Einzelteile
"Waagerecht" eingetragen werden also z.B. erstes Wort in A1, zweites in B1, drittes in C1 usw.
Hat jemand eine Idee?

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

Betreff
Datum
Anwender
Anzeige
Re: nächstes Wort in nächste Spalte
14.01.2003 20:05:29
Nepumuk
Hallo Tim,
die vorvorletzte Zeile: Cells(i + 1, 1) = A(i)
ändern in: Cells(1, i + 1) = A(i)

Gruß
Nepumuk

Re: nächstes Wort in nächste Spalte
14.01.2003 20:07:43
Nike
Hi,
eine Zeile müßte geändert werden:
aus Cells(i + 1, 1) = A(i)
mache man
Cells(1, i + 1) = A(i)

Bye

Nike

Re: nächstes Wort in nächste Spalte
15.01.2003 11:49:33
Tim
Ok, danke erstmal ;o) Ich habe jetzt noch einen Index eingebaut, weil die erste Zeile aus dem Textfile in die erste Zeile des Excelsheets geschrieben werden soll und die zweite in die Zweite usw. Ich erhöhe also nach jedem durchlauf einer Zeile des Textfiles die Zeilennummer. Dabei habe ich festgestellt, daß mir dann in die erste Zeile der Tabelle die erste Zeile aus dem Textfile geschrieben wird, in die zweite Zeile der Tabelle aber die erste UND die zweite Zeile des Textfiles usw. Kann man das verhindern?
Hier der Quellcode:
Private Sub CommandButton1_Click()
'Das gewählte Textfile wird geöffnet
Dim text As String, dateinummer As Integer, rowindex As Integer
dateinummer = FreeFile()
rowindex = 0
Open ComboBox1.Value For Input As #dateinummer
Do Until EOF(dateinummer)
'solange vorhanden werden die Reihen aus dem File gelesen
Line Input #dateinummer, text
'die Reihen werden gesplittet (nach Semikolon)
Dim A() As String
Dim j As Integer
Dim i As Long
Dim NextPos As Long
NextPos = 1
For i = 1 To Len(text)
If Mid(text, i, 1) = ";" Or i = Len(text) Then
ReDim Preserve A(j)
If i < Len(text) Then
A(j) = Mid(text, NextPos, i - NextPos)
Else
A(j) = Mid(text, NextPos, i)
End If
j = j + 1
NextPos = i + 1
End If
Next
rowindex = rowindex + 1
For i = 0 To UBound(A)
Cells(rowindex, i + 1) = A(i)
Next
Loop
Close (dateinummer)
End sub

Anzeige
Re: nächstes Wort in nächste Spalte
15.01.2003 12:09:10
Nepumuk
Hallo Tim,
warum so kopliziert? Versuch es mal so:

Private Sub CommandButton1_Click()
Dim text As String, dateinummer As Integer, Zeile As Long, Spalte As Integer
dateinummer = FreeFile()
'Das gewählte Textfile wird geöffnet
Open ComboBox1.Value For Input As #dateinummer
Do Until EOF(dateinummer)
'solange vorhanden werden die Reihen aus dem File gelesen
Line Input #dateinummer, text
'die Reihen werden gesplittet (nach Semikolon)
Zeile = Zeile + 1
Spalte = 0
If Right(text, 1) <> ";" Then text = text & ";"
Do Until text = ""
Spalte = Spalte + 1
Cells(Zeile, Spalte) = Mid(text, 1, InStr(1, text, ";") - 1)
text = Mid(text, InStr(1, text, ";") + 1)
Loop
Loop
Close
End Sub

Ich würde mir an deiner Stelle auch angewöhnen Dim-Anweisungen an den Anfang des Moduls zu stellen, wg. der Übersichtlichkeit.
Gruß
Nepumuk

Anzeige
Re: nächstes Wort in nächste Spalte
15.01.2003 12:15:06
Tim
Jeppa *freu* Das ist genau richtig ;o)
Danke!

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige