Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 3
Default Moving VBA6 string functions into VBA5

Gang -

My apologies for the double post. No one answered over on the Mac side.

Microsoft provides this website

http://support.microsoft.com/default...b;en-us;188007

on how to move these VBA functions into VBA5:

Function Description
-------- -----------
Join Used to join arrays elements.

Split Split a string into a variant array.

InStrRev Similar to InStr but searches from end of string.

Replace To find a particular string and replace it.

Reverse To reverse a string.

The Split Function, quoted below gives a

Compile error: Automaton type not supported in Visual Basic

Public Function Split(ByVal sIn As String, Optional sDelim As _
String, Optional nLimit As Long = -1, Optional bCompare As _
VbCompareMethod = vbBinaryCompare) As Variant
Dim sRead As String, sOut() As String, nC As Integer
If sDelim = "" Then
Split = sIn
End If
sRead = ReadUntil(sIn, sDelim, bCompare)
Do
ReDim Preserve sOut(nC)
sOut(nC) = sRead
nC = nC + 1
If nLimit < -1 And nC = nLimit Then Exit Do
sRead = ReadUntil(sIn, sDelim)
Loop While sRead < ""
ReDim Preserve sOut(nC)
sOut(nC) = sIn
Split = sOut
End Function

What's up with the error, and what can I do?

....Best, Captain Nemo
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 1,549
Default Moving VBA6 string functions into VBA5

I don't get the automation error, but "ReadUntil" is not valid in any version of VBA.
Tom Ogilvy posted the following "Split" function, about six years, ago for use in Excel 97.
It is very fast and returns a Variant containing a 1 based array.
It appears to be limited to strings no longer than ~171 characters.
'--
Function Split97(sStr As String, sDelim As String) As Variant
Split97 = Evaluate("{""" & Application.Substitute(sStr, sDelim, """,""") & """}")
End Function
--
For example...
MsgBox Split97("only the lonely", " ")(2)
Returns "the"
'--
Jim Cone
Portland, Oregon USA




"Captain Nemo"
wrote in message
Gang -
My apologies for the double post. No one answered over on the Mac side.
Microsoft provides this website
http://support.microsoft.com/default...b;en-us;188007
on how to move these VBA functions into VBA5:

Function Description
-------- -----------
Join Used to join arrays elements.

Split Split a string into a variant array.

InStrRev Similar to InStr but searches from end of string.

Replace To find a particular string and replace it.

Reverse To reverse a string.

The Split Function, quoted below gives a

Compile error: Automaton type not supported in Visual Basic

Public Function Split(ByVal sIn As String, Optional sDelim As _
String, Optional nLimit As Long = -1, Optional bCompare As _
VbCompareMethod = vbBinaryCompare) As Variant
Dim sRead As String, sOut() As String, nC As Integer
If sDelim = "" Then
Split = sIn
End If
sRead = ReadUntil(sIn, sDelim, bCompare)
Do
ReDim Preserve sOut(nC)
sOut(nC) = sRead
nC = nC + 1
If nLimit < -1 And nC = nLimit Then Exit Do
sRead = ReadUntil(sIn, sDelim)
Loop While sRead < ""
ReDim Preserve sOut(nC)
sOut(nC) = sIn
Split = sOut
End Function

What's up with the error, and what can I do?

....Best, Captain Nemo
  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,934
Default Moving VBA6 string functions into VBA5

While this site says VB6 to VB5 (it means the compiled versions), they
should work fine with VBA as well. The site features several code methods
for each function, with timed tests, so you should find code that will work
for your setup...

http://www.xbeat.net/vbspeed/

--
Rick (MVP - Excel)


"Captain Nemo" wrote in message
...
Gang -

My apologies for the double post. No one answered over on the Mac side.

Microsoft provides this website

http://support.microsoft.com/default...b;en-us;188007

on how to move these VBA functions into VBA5:

Function Description
-------- -----------
Join Used to join arrays elements.

Split Split a string into a variant array.

InStrRev Similar to InStr but searches from end of string.

Replace To find a particular string and replace it.

Reverse To reverse a string.

The Split Function, quoted below gives a

Compile error: Automaton type not supported in Visual Basic

Public Function Split(ByVal sIn As String, Optional sDelim As _
String, Optional nLimit As Long = -1, Optional bCompare As _
VbCompareMethod = vbBinaryCompare) As Variant
Dim sRead As String, sOut() As String, nC As Integer
If sDelim = "" Then
Split = sIn
End If
sRead = ReadUntil(sIn, sDelim, bCompare)
Do
ReDim Preserve sOut(nC)
sOut(nC) = sRead
nC = nC + 1
If nLimit < -1 And nC = nLimit Then Exit Do
sRead = ReadUntil(sIn, sDelim)
Loop While sRead < ""
ReDim Preserve sOut(nC)
sOut(nC) = sIn
Split = sOut
End Function

What's up with the error, and what can I do?

...Best, Captain Nemo


Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
File Not Found: VBA6.DLL WLMPilot Excel Discussion (Misc queries) 0 September 4th 05 06:43 PM
FILE NOT FOUND: VBA6.DLL WLMPilot Excel Discussion (Misc queries) 0 April 28th 05 07:30 PM
Excel 97 Pro: VBA5: Illegal Error Syed Zeeshan Haider[_6_] Excel Programming 0 May 8th 04 05:23 AM
VBA5.dll for Version 6.3 Luke[_2_] Excel Programming 0 February 17th 04 09:50 PM
Checking for VBA5, not VBA6 Matt Somers Excel Programming 3 February 15th 04 07:13 PM


All times are GMT +1. The time now is 12:26 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"