Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[Excel 2000] punt naar komma conversie in macro werkt niet *

Pagina: 1
Acties:

  • Maddog McHare
  • Registratie: Maart 2005
  • Laatst online: 19-01 00:38

Maddog McHare

ROCK AND STONE!

Topicstarter
Hi,

Vanuit een in php->mysql gegenereerde tabel met gegevens selecteer ik een kolom waarin bedragen staan vermeld.Deze kolom plak ik vervolgens in Excel. Doel is om deze bedragen om te zetten naar een comma notatie en voorzien van € teken

dus:
2300.00 -> € 2.300,00
11.45 -> € 11,45
1000000.50 -> € 1.000.000,50
enz

Als ik met de hand de kolom selecteer en met "vervangen door" de punt naar comma verander gaat dit goed. Als ik vervolgens bij eigenschappen de waarden als "financieel met €-teken" selecteer worden de bedragen netjes in het gewenste formaat weergegeven.

MAAR!

Als ik de bovenstaande stappen laat opnemen met een macro wordt alleen de punt conversie doorgevoerd en niet de "financieel" conversie. Pas wanneer ik bij afloop van de macro de cel selecteer (dubbelklik) verschijnt er pas een €-teken.

Waarom loopt dit niet goed?

Ik ga er hierbij vanuit dat de geplakte bedragen van het type tekst zijn wellicht dat hier iets mis gaat?

Graag jullie hulp!

M@Dd09


Verwijderd

dit is een gotcha in vba. aangezien vba altijd met amerikaanse indeling werkt moet je de punt vervangen door een punt (dus in code : replacement:=".") om deze operatie correct uit te voeren.
beter was misschien dat de import rechtstreeks uit mysql gedaan wordt via de odbc-driver.

  • Maddog McHare
  • Registratie: Maart 2005
  • Laatst online: 19-01 00:38

Maddog McHare

ROCK AND STONE!

Topicstarter
Thnx voor de hulp maar hoe komt het nou dat de cel eerst nog actief (klikken) gemaakt moet worden voordat de toekenning van het format zichtbaar wordt gemaakt. Met andere woorden als ik een SOM doe op die kolom telt hij alleen de waarden op met de € format ookal staan de bedragen als 1000,00 in de kolom.

NB de conversie zelf is het probleem niet, meer het gedrag van Excel na die vervanging.

M@Dd09


  • Maddog McHare
  • Registratie: Maart 2005
  • Laatst online: 19-01 00:38

Maddog McHare

ROCK AND STONE!

Topicstarter
Voor de duidelijkheid :


Sub comma_conversie()
'
' comma_conversie Macro

Sheets("Data").Select
Columns("L:L").Select
Selection.NumberFormat = "_($* #,##0.00_);_($* (#,##0.00);_($* ""-""??_);_(@_)"
Selection.Replace What:=".", Replacement:=",", LookAt:=xlPart, _
SearchOrder:=xlByColumns, MatchCase:=False
End Sub

M@Dd09


  • Maddog McHare
  • Registratie: Maart 2005
  • Laatst online: 19-01 00:38

Maddog McHare

ROCK AND STONE!

Topicstarter
Het enige wat ik kan herleiden is dat de cel na het toepassen nog niet "actief" is geweest. Een Select commando werkt ook niet. de cel moet echt fysiek worden geactiveerd door een "dubbelklik" zodra je vervolgens uit de cel gaat wordt het juiste format toegepast. Weet iemand hoe dit "activeren" in een commando opgenomen kan worden?

M@Dd09


  • Maddog McHare
  • Registratie: Maart 2005
  • Laatst online: 19-01 00:38

Maddog McHare

ROCK AND STONE!

Topicstarter
help!?

M@Dd09


Verwijderd

doe eerst de vervanging Replacement:=".", en daarna de opmaak

dat werkt voor mij tenminste met excel, win xp & regionale settings 3 x nederlandstalig.

  • Maddog McHare
  • Registratie: Maart 2005
  • Laatst online: 19-01 00:38

Maddog McHare

ROCK AND STONE!

Topicstarter
Thnx krijg het op die manier inderdaad aan de praat! Heb vervolgens toch naar een snellere manier gezocht en heeb eerst een hele tijd gestoeit met de "MONEY" functie in SQL. Echter geeft de "REPLACE" functie een betere oplossing

REPLACE (wo.factuur_bedrag,'.',',') AS bedrag

Vervolgens kan Excel hier wel mee overweg.

M@Dd09

Pagina: 1