ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   looping through comma delimited text (https://www.excelbanter.com/excel-programming/411489-looping-through-comma-delimited-text.html)

DZ

looping through comma delimited text
 
Hi

I need to do something with a comma delimited block of text.

.....like
text , text, text, etc

Can someone help me write a loop to loop through each block of text between
commas?

Thanks alot for any help



Rick Rothstein \(MVP - VB\)[_1987_]

looping through comma delimited text
 
Consider this...

Dim X As Long
Dim BlockOfText As String
Dim Fields() As String
BlockOfText = "text1, text2, text3, etc."
' The next statement assumes a comma followed
' by a space, as shown, is the delimiting the text
Fields = Split(BlockOfText, ", ")
' The zero-based Fields array now holds
' each text sub-string in its elements...
For X = 0 To UBound(Fields)
Debug.Print Fields(X)
Next

Rick


"DZ" wrote in message
...
Hi

I need to do something with a comma delimited block of text.

....like
text , text, text, etc

Can someone help me write a loop to loop through each block of text
between
commas?

Thanks alot for any help




joel

looping through comma delimited text
 
Here is some code you might use

Sub GetCSVData()

Const ForReading = 1, ForWriting = 2, ForAppending = 3
Const TristateUseDefault = -2, TristateTrue = -1, TristateFalse = 0
Const Delimiter = ","
Set fsread = CreateObject("Scripting.FileSystemObject")

'default folder
Folder = "C:\temp\test"
ChDir (Folder)

FName = Application.GetOpenFilename("CSV (*.csv),*.csv")


RowCount = LastRow + 1
If FName < "" Then
'open files
Set fread = fsread.GetFile(FName)
Set tsread = fread.OpenAsTextStream(ForReading, TristateUseDefault)

Do While tsread.atendofstream = False

InputLine = tsread.ReadLine

'extract comma seperated data
ColumnCount = 1
Do While InputLine < ""
DelimiterPosition = InStr(InputLine, Delimiter)
If DelimiterPosition 0 Then
Data = Trim(Left(InputLine, DelimiterPosition - 1))
InputLine = Mid(InputLine, DelimiterPosition + 1)
Else
Data = Trim(InputLine)
InputLine = ""
End If

Cells(RowCount, ColumnCount) = Data
ColumnCount = ColumnCount + 1
Loop
RowCount = RowCount + 1
Loop

tsread.Close
End If
End Sub


"DZ" wrote:

Hi

I need to do something with a comma delimited block of text.

....like
text , text, text, etc

Can someone help me write a loop to loop through each block of text between
commas?

Thanks alot for any help




All times are GMT +1. The time now is 01:40 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com