|
| Excel og sprog??? Fra : Henrik Juul |
Dato : 23-10-03 15:31 |
|
GRRRRR.....
Jeg fornemmer, at jeg har problemer med en VB-applikation, hvor jeg
gør brug af et excel-objekt, fordi jeg udvikler på en engelsk version
af excel, men hos kunden skal den køre på en dansk version.- Kan det
passe, at det giver problemer og hvad gør jeg?
/Henrik
Henrik Juul
henrik@1janning-2juul.dk (fjern tallene)
| |
preben nielsen (23-10-2003)
| Kommentar Fra : preben nielsen |
Dato : 23-10-03 16:00 |
|
"Henrik Juul" <henrik@1janning-2juul.dk (fjern tallene)> skrev i
en meddelelse news:9dpfpv47gh5kf6oogegcuf9l5ijalk9qqh@4ax.com...
> GRRRRR.....
>
> Jeg fornemmer, at jeg har problemer med en VB-applikation, hvor
jeg
> gør brug af et excel-objekt, fordi jeg udvikler på en engelsk
version
> af excel, men hos kunden skal den køre på en dansk version.- Kan
det
> passe, at det giver problemer og hvad gør jeg?
Hvad er problemet ???
--
/\ preben nielsen
\/\ prel@post.tele.dk
| |
Henrik Juul (23-10-2003)
| Kommentar Fra : Henrik Juul |
Dato : 23-10-03 16:31 |
|
Problemet er, at jeg i VB skriver alle kode på engelsk, f.eks.:
If myXLObj.range("A" & i, "A" & i).Text = "0" Then
txtTest = ""
'myXLObj.range("H" & i, "H" & i).Select
End if
Men jeg mener engang at have hørt, at sådan kode skal skrive på dansk,
hvis det er en dansk version af excel, det skal afvikles på - kan det
passe?
/Henrik
On Thu, 23 Oct 2003 16:59:56 +0200, "preben nielsen"
<prel@post.tele.dk> wrote:
>
>"Henrik Juul" <henrik@1janning-2juul.dk (fjern tallene)> skrev i
>en meddelelse news:9dpfpv47gh5kf6oogegcuf9l5ijalk9qqh@4ax.com...
>> GRRRRR.....
>>
>> Jeg fornemmer, at jeg har problemer med en VB-applikation, hvor
>jeg
>> gør brug af et excel-objekt, fordi jeg udvikler på en engelsk
>version
>> af excel, men hos kunden skal den køre på en dansk version.- Kan
>det
>> passe, at det giver problemer og hvad gør jeg?
>
>Hvad er problemet ???
Henrik Juul
henrik@1janning-2juul.dk (fjern tallene)
| |
preben nielsen (23-10-2003)
| Kommentar Fra : preben nielsen |
Dato : 23-10-03 17:29 |
|
"Henrik Juul" <henrik@1janning-2juul.dk (fjern tallene)> skrev i
en meddelelse news:7rsfpvk4r8037gfj8en7kq4pg9tb7ra0fd@4ax.com...
> Problemet er, at jeg i VB skriver alle kode på engelsk, f.eks.:
> If myXLObj.range("A" & i, "A" & i).Text = "0" Then
> txtTest = ""
> 'myXLObj.range("H" & i, "H" & i).Select
> End if
>
> Men jeg mener engang at have hørt, at sådan kode skal skrive på
dansk,
> hvis det er en dansk version af excel, det skal afvikles på -
kan det
> passe?
Nej, det er rent vås.
Det eneste der er forskel på er hvad regneark-funktioner hedder
når du indtaster dem i celler !
Tro mig Jeg har en lavet en VBA applikation med 35.000 linier
VBA code og det virker fint på både danske og engelske
installationer
--
/\ preben nielsen
\/\ prel@post.tele.dk
| |
Henrik Juul (23-10-2003)
| Kommentar Fra : Henrik Juul |
Dato : 23-10-03 20:41 |
|
Ok, men vil nedenstående så ikke fejle i en dansk Excel:
For Each c In myXLObj.Selection
c.FormulaLocal = "=IF($A" & nRowNum & "=1;SUMIF($H:$H;$B" &
nRowNum & ";J:J)*225;M" & nRowNum - 1 & ")"
Next
/Henrik
On Thu, 23 Oct 2003 18:28:30 +0200, "preben nielsen"
<prel@post.tele.dk> wrote:
>
>
>Nej, det er rent vås.
>
>Det eneste der er forskel på er hvad regneark-funktioner hedder
>når du indtaster dem i celler !
>
>Tro mig Jeg har en lavet en VBA applikation med 35.000 linier
>VBA code og det virker fint på både danske og engelske
>installationer
Henrik Juul
henrik@1janning-2juul.dk (fjern tallene)
| |
Harald Staff (24-10-2003)
| Kommentar Fra : Harald Staff |
Dato : 24-10-03 08:56 |
|
Jo den vil feile med dansk Excel, siden det der heter HVIS i formulalocal.
Og den vil havarere i USA siden man der bruker komma og ikke semikolon som
separator. Du må bruke Formula istedet, med konsekvent amerikansk
formelsyntax.
--
HTH. Beste hilsen Harald
Followup to newsgroup only please
"Henrik Juul" <henrik@1janning-2juul.dk (fjern tallene)> skrev i melding
news:akbgpvomlm05d392gsbl7ih1qmfbo9meja@4ax.com...
> Ok, men vil nedenstående så ikke fejle i en dansk Excel:
>
> For Each c In myXLObj.Selection
> c.FormulaLocal = "=IF($A" & nRowNum & "=1;SUMIF($H:$H;$B" &
> nRowNum & ";J:J)*225;M" & nRowNum - 1 & ")"
> Next
>
> /Henrik
>
>
> On Thu, 23 Oct 2003 18:28:30 +0200, "preben nielsen"
> <prel@post.tele.dk> wrote:
>
> >
> >
> >Nej, det er rent vås.
> >
> >Det eneste der er forskel på er hvad regneark-funktioner hedder
> >når du indtaster dem i celler !
> >
> >Tro mig Jeg har en lavet en VBA applikation med 35.000 linier
> >VBA code og det virker fint på både danske og engelske
> >installationer
>
> Henrik Juul
> henrik@1janning-2juul.dk (fjern tallene)
| |
preben nielsen (24-10-2003)
| Kommentar Fra : preben nielsen |
Dato : 24-10-03 15:24 |
|
"Henrik Juul" <henrik@1janning-2juul.dk (fjern tallene)> skrev i
en meddelelse news:akbgpvomlm05d392gsbl7ih1qmfbo9meja@4ax.com...
> Ok, men vil nedenstående så ikke fejle i en dansk Excel:
>
> For Each c In myXLObj.Selection
> c.FormulaLocal = "=IF($A" & nRowNum & "=1;SUMIF($H:$H;$B" &
> nRowNum & ";J:J)*225;M" & nRowNum - 1 & ")"
> Next
På trods af hvad Harald siger så vil den IKKE fejle ! Formler
indsat via VBA SKAL være i det engelske format !
Jeg har så sent som idag oprettet en del VLOOKUP formler vha. VBA
på trods af at funktionen hedder LOPSALG på dansk
--
/\ preben nielsen
\/\ prel@post.tele.dk
| |
preben nielsen (24-10-2003)
| Kommentar Fra : preben nielsen |
Dato : 24-10-03 15:26 |
|
"Henrik Juul" <henrik@1janning-2juul.dk (fjern tallene)> skrev i
en meddelelse news:akbgpvomlm05d392gsbl7ih1qmfbo9meja@4ax.com...
> Ok, men vil nedenstående så ikke fejle i en dansk Excel:
>
> For Each c In myXLObj.Selection
> c.FormulaLocal = "=IF($A" & nRowNum & "=1;SUMIF($H:$H;$B" &
> nRowNum & ";J:J)*225;M" & nRowNum - 1 & ")"
> Next
Undskyld mit forrige svar, Harald ! Så lige at du - i dit svar -
kun snakkede om at FormulaLocal ville fejle
--
/\ preben nielsen
\/\ prel@post.tele.dk
| |
Henrik Juul (24-10-2003)
| Kommentar Fra : Henrik Juul |
Dato : 24-10-03 18:36 |
|
On Fri, 24 Oct 2003 16:26:20 +0200, "preben nielsen"
<prel@post.tele.dk> wrote:
Hvad er forskellen på Formulalocal og Formula??
Til dit andet svar så virker min applikation nu også med de danske
formler.- Inden jeg sætter formler i cellerne checker jeg for sproget
i den pågældende excel-installation, hvor programmet skal afvikles og
har så formlerne i flere forskellige sprog.
/Henrik
>Undskyld mit forrige svar, Harald ! Så lige at du - i dit svar -
>kun snakkede om at FormulaLocal ville fejle
Henrik Juul
henrik@1janning-2juul.dk (fjern tallene)
| |
Harald Staff (24-10-2003)
| Kommentar Fra : Harald Staff |
Dato : 24-10-03 19:09 |
|
"Henrik Juul" <henrik@1janning-2juul.dk (fjern tallene)> wrote in message
news:kkoipvck7k5f8mh0ju5f95ceqrg2oei2tu@4ax.com...
> Hvad er forskellen på Formulalocal og Formula??
Jeg begynte å forklare, men det tok hurtig konturene av en bok og ikke en posting.
Beklager, all teori slettet.
Glem enhver "local" -de skaper utelukkende problemer for deg. Du skal bruke Formula eller
FormulaR1C1 og konsekvent bare alltid hvergang benytte amerikanske funksjonsnavn OG
nummerformater OG separatorer. Det er den eneste måten å lage internasjonalt kompatible
applikasjoner i Excel. Du skal ikke sjekke sprog, du skal bare skrive nothing but american
code. Preben har rett i meget, men ikke i at dette er påfallende nemt. Det er nemt først
om man enten kan det godt eller om man følger overstående påstander mekanisk uten avvik.
En god hjelp får du om du innspiller makroer mens du setter inn formler. Innspillingen
returnerer perfekt, internasjonal syntax.
--
HTH. Beste hilsen Harald
Followup to newsgroup only please.
| |
Henrik Juul (26-10-2003)
| Kommentar Fra : Henrik Juul |
Dato : 26-10-03 21:31 |
|
Hej Harald.
Mange tak for din hjælp!
Hvodan skrives følgende så det overholder 'american code':
"=IF(ISBLANK(E" & nRowNum & ");0;1)"
/Henrik
On Fri, 24 Oct 2003 20:09:11 +0200, "Harald Staff"
<innocent@enron.invalid> wrote:
>Jeg begynte å forklare, men det tok hurtig konturene av en bok og ikke en posting.
>Beklager, all teori slettet.
>
>Glem enhver "local" -de skaper utelukkende problemer for deg. Du skal bruke Formula eller
>FormulaR1C1 og konsekvent bare alltid hvergang benytte amerikanske funksjonsnavn OG
>nummerformater OG separatorer. Det er den eneste måten å lage internasjonalt kompatible
>applikasjoner i Excel. Du skal ikke sjekke sprog, du skal bare skrive nothing but american
>code. Preben har rett i meget, men ikke i at dette er påfallende nemt. Det er nemt først
>om man enten kan det godt eller om man følger overstående påstander mekanisk uten avvik.
>
>En god hjelp får du om du innspiller makroer mens du setter inn formler. Innspillingen
>returnerer perfekt, internasjonal syntax.
Henrik Juul
henrik@1janning-2juul.dk (fjern tallene)
| |
preben nielsen (26-10-2003)
| Kommentar Fra : preben nielsen |
Dato : 26-10-03 23:11 |
|
"Henrik Juul" <henrik@1janning-2juul.dk (fjern tallene)> skrev i
en meddelelse news:ilbopvcltlpd5l1ddc37h05hbc6nrt24k2@4ax.com...
> Hej Harald.
>
> Mange tak for din hjælp!
>
> Hvodan skrives følgende så det overholder 'american code':
> "=IF(ISBLANK(E" & nRowNum & ");0;1)"
Ovenstående ER amerikansk !
--
/\ preben nielsen
\/\ prel@post.tele.dk
| |
Harald Staff (27-10-2003)
| Kommentar Fra : Harald Staff |
Dato : 27-10-03 00:43 |
|
> "Henrik Juul" <henrik@1janning-2juul.dk (fjern tallene)> skrev i
> en meddelelse news:ilbopvcltlpd5l1ddc37h05hbc6nrt24k2@4ax.com...
> > Hvodan skrives følgende så det overholder 'american code':
> > "=IF(ISBLANK(E" & nRowNum & ");0;1)"
>
> Ovenstående ER amerikansk !
NEI NEI NEI det er det IKKE. Jeg foreslår at du testkjører følgende, Preben:
Sub Test()
Dim nRowNum As Long
nRowNum = ActiveCell.Row
ActiveCell.Formula = "=IF(ISBLANK(E" & nRowNum & ");0;1)"
End Sub
Henrik: Det aller nemmeste er å splille inn en makro mens du skriver eller
redigerer formler. Da får du korrekt syntax umiddelbart. I overstående vil
det være å erstatte alle semikolon med komma.
Beste hilsen Harald
| |
preben nielsen (27-10-2003)
| Kommentar Fra : preben nielsen |
Dato : 27-10-03 08:25 |
|
"Harald Staff" <innocent@enron.invalid> skrev i en meddelelse
news:bnhm6l$e7f$1@services.kq.no...
> > "Henrik Juul" <henrik@1janning-2juul.dk (fjern tallene)> skrev
i
> Sub Test()
> Dim nRowNum As Long
> nRowNum = ActiveCell.Row
> ActiveCell.Formula = "=IF(ISBLANK(E" & nRowNum & ");0;1)"
Nej, ";" skal ændres til ","
| |
|
|