It still seems odd to me that you would have a one line data file...?
If you have a bunch of rows of data, and each row has the 7 tab delimited values, then you will not got the right solution by simply splitting on the Tab because the last entry will be attached to the fist entry on the next line still. Splitting on the carriage return would give you each value set seperated as well as removing the carryover problem.
If your data is in one really long row, then the problem with your above code is that the first value you are inserting is going to be null because you are adding an initial Tab to the string. Example:
say txtBlob is equal to: myword<tab>my other word<tab>something else
If you add a Tab to the front of this and then split it, your string would look like:
yourString = vbTab & "myword" & vbTab & "my other word" & vbTab & "something else"
Which will then output the following array when split on vbTab:
yourArray(0) = ""
yourArray(1) = "myword"
yourArray(2) = "my other word"
yourArray(3) = "something else"
Since you have offset the first entry by adding that initial tab, your loop is going to be offset as well. So if the data is actually evenly divisable by 7 your array will lose the last 6 entries (since you added the extraneous one to the front). Plus you will be writing the data to the wrong fields, etc. If you want to leave the Tab in then start your loop at 1 instead of 0.
I still think we should see an examnple of this data. That would help in assisting you to solve this. I'm still thinking that the multiple line thing has been overlooked simply because putting all the data on one long tb delimited line doesn't make a lot of sense to me (though I guess it could be possible).
-T
01000111 01101111 01110100 00100000 01000011 01101111 01100110 01100110 01100101 01100101 00111111
The never-completed website: