visual basic Mid() does not work with swedish version of excel

L

LindhJonas

I am using the function Result = Mid(Mystring, Start, lenght) in Visual Basic.
It is working perfect with an english version of Excel.
The swedish version gives compile error "Cant find the project or library"
Visual Basic is not avialable in a swedish version .

Is it possible that this function can only be used in english speeking
countries?
Anyone else with this experience or a solution to the problem.

There is no problem if I use Mid as a spread sheet function.
Using Result = Application.WorksheetFunction.Mid(Mystring, Start, lenght)
in Visual Basic does not help.

Unhappy Swede
Jonas
 
K

keepITcool

mid is a standard vb function.

when VBA comes up with this type of problem it's due to a missing
reference (to ANY object library).

check tools/references in VBE. you'll find a referenced object library
listed as MISSING (or the swedish version of that word :)

uncheck or (re)install the missing library.


--
keepITcool
| www.XLsupport.com | keepITcool chello nl | amsterdam


LindhJonas wrote :
 
N

NickHK

Jonas,
Usually when VBA error on such "normal" lines, it indicates that there is a
compile error somewhere else in your code, but the IDE picks that line, for
some unknown reason.
Comment out that line, then do a "Full Compile" and see what others error(s)
are flagged.

NickHK
 
T

Tom Ogilvy

In my experience, this is caused by a missing reference in VBE
Tools=>References as stated by KeepItCool. Nick, I am only responding to
your post to emphasize KeepItCool's suggestion - this problem pops up
several times a week and invariably this is the cause.

A short stop cure is usually to qualify mid with vba.mid, but better to fix
the underlying cause.
 
L

LindhJonas

Hi Nick

Thank you for your prompt answer.
For many reasons it is more practical to work in an English version of
excel, as most literature as well as visual basic and common formulas are in
English.
My customer however is using Swedish Excel.

When I test my application on my "Swedish" computer nothing worked as
expected.
You are right I tested the Mid() function as a separate case and it worked.

In the English version I don't need to Dim constants but areas and if I need
to transfer values between procedures. I normally do this in a separate
Module and only once.

In the Swedish version every single expression has to be dimensioned and
also re-dimensioned in every single Module.

The Swedish version looks to be from Stone Age to me.
Do you have experience or good hints from bilingual problems, or if there
are parameters to be set to allow me to use my application on other computers.

Appreciate your kindness.

Best regards
Jonas
 
T

tony h

I am just picking up on your comment: "In the Swedish version every
single expression has to be dimensioned and also re-dimensioned in
every single Module"

This might indicate that you have an OPTION EXPLICIT at the top of your
swedish module but you don't in the English module. The OPTION EXPLICIT
requires that every variable needs to be declared in a DIM statement.
Which is a little bit of extra work but saves thousands of problems.

Just a thought

regards
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top