PDA

Vollständige Version anzeigen : Falsches Kommazeichen (statt komma, ein punkt)


wuffi
22.02.2008, 16:50
Hallo ihr VBAller
habe ein für mich unbekanntes prob
ich lade über ein makro eine htm tabelle in excel und brauche daraus zwei spalten. eine bekomme ich so raus wie ich sie brauche, bei der zweiten handelt es sich um minuten zeiten in dezimalangaben. nun mein prob. beim öffnen mit excel wird leider aus [27.4] welches in der zelle steht ein völlig unbrauchbares [39565]. naja damit kann ich leider keine zeiten zusammenzählen. könnt ihr mir dabei helfen, ich denke mir für den einen oder anderen dürfte das keine große hürde darstellen.

danke im vorraus wuffi

R J
22.02.2008, 17:03
Hi Wuffi,

vollkommen normal. 39565 entspricht nun einmal dem 27/4/08. Du kannst die Zelle aber wieder in's Datumsformat zurückformatieren, um in Zukunft das Datum angezeigt zu bekommen.

wuffi
22.02.2008, 17:12
nein so war das nicht gemeint. es ist eine zeitangabe im dezimalsystem. mein problem besteht darin das ich diese angabe auch als zeitangabe brauche. damit ist gemeint das 27.5 NICHT der 27 Mai 2008 ist sondern 27 minuten und 30 sekunden. und dieses brauch ich.

R J
22.02.2008, 17:25
...schon mal damit probiert?

activecell.NumberFormat = "hh:mm"

wuffi
22.02.2008, 17:32
ja hatte ich auch schon probiert aber das kamm dabei raus

27.04.2008 00:00:00

wuffi
22.02.2008, 17:36
das habe ich auch schon probiert, von hand funktionierts aber nicht in einem makro

format der spalte ist standard
format der Spalte mit diesen ( 39565 ) wert als datum
ersetze per suchen und ersetzen alle: . (Punkte) in dieser spalte durch: , (komma)
format dieser spalte als standard
ersetze per suchen und ersetzen alle: ,2008
in dieser spalte durch nichts

R J
22.02.2008, 17:43
...nee... Du mußt früher ansetzen. Der Fehler ensteht ja schon bei der Datenübernahme aus der htm-Quelle!
Wenn das Format in Excel erst einmal falsch übernommen wurde (eben die 35656) dann ist es eh zu spät. Dann hilft Dir keine nachträgliche Formatierung mehr.

wuffi
22.02.2008, 17:48
ich öffne die html datei über workbooks open und dann erscheint dort die 27.4 und eigentlich könnte ich damit weiter rechnen aber intern macht excel daraus ja ein datum. kann ich dieses nicht irgendwie abfangen?

IngGi
22.02.2008, 19:10
Hallo wuffi,

stell das Dezimaltrennzeichen von Excel auf Punkt, öffne deine html-Datei und stell das Dezimaltrennzeichen wieder zurück:
<div><link href="http://www.ms-office-forum.net/forum/externals/codeconv.css" rel="stylesheet"><pre><span class="TOKEN">Dim</span> blnSysSep <span class="TOKEN">As</span> <span class="TOKEN">Boolean</span>
<span class="TOKEN">Dim</span> strDecSep <span class="TOKEN">As</span> <span class="TOKEN">String</span>
&nbsp;
<span class="TOKEN">With</span> Application
.DecimalSeparator = &quot;.&quot;
.UseSystemSeparators = <span class="TOKEN">False</span>
&nbsp;
Workbooks.Open (&quot;.....&quot;)
&nbsp;
.UseSystemSeparators = blnSysSep
.DecimalSeparator = strDecSep
<span class="TOKEN">End</span> <span class="TOKEN">With</span>
&nbsp;</pre></div>
Code eingefügt mit dem MOF Code Converter (http://www.ms-office-forum.net/forum/codeconverter.php)

Gruß Ingolf

wuffi
22.02.2008, 19:29
DDANKE meine rettung
es funktioniert, mußte nur noch meinen gesamten code drin ablaufen lassen und schon war schick