Anzeige
Archiv - Navigation
1576to1580
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA Zahlen mit Nachkommastellen

VBA Zahlen mit Nachkommastellen
11.09.2017 10:42:37
Jens
Hallo zusammen,
ich habe folgendes Problem mit meinem Excel Makro.
Ich lese aus einem Tabellenblatt bestimmte Werte aus und möchte diese auf dem ersten Tabellenblatt gesammelt schreiben.
An sich funktioniert das ganze auch, jedoch werden Werte mit Nachkommastellen im ersten Blatt falsch (auf Engl.) geschrieben. D.h. mit Punkten.
VBA verarbeitet diese Werte jedoch korrekt. Die Ausgabe mit einer Msgbox z.b. ist korrekt. Erst beim Einfügen in eine Zelle wird es falsch. Wieso ist das so? Wie kann ich das verhindern?
In allen meinen anderen Makros hatte ich dieses Problem bisher nie. Obwohl alle ähnlich aufgebaut.
Kann jemand helfen?
Vielen Dank und grüße
Jens

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Beispielmappe bitte. o.w.T.
11.09.2017 10:49:06
Werner
AW: VBA Zahlen mit Nachkommastellen
11.09.2017 10:56:21
Daniel
Hi
kommt darauf an, was du wie genau einfügst.
Grundproblem ist, dass Excel und VBA in der Regel englisch miteinander reden.
Dh wenn ein Text wie "1,234" in eine Zelle geschrieben wird, versucht Excel in der Regel diesen Text in eine Zahl zu wandeln.
Schreibst du das manuell in die Zelle, geht Excel davon aus dass die Landestypische Zahlenschreibweise anzuwenden ist und das Komma das Dezimalzeichen ist.
Schreibt jedoch VBA das in die Zelle, dann geht Excel davon aus das die amerikanische Schreibweise anzuwenden ist und das Komma das Tausendertrennzeichen ist.
Gruß Daniel
Anzeige
AW: Bitte Beispielmappe mit Code m.r.T
11.09.2017 11:17:43
Gerd
Hallo Jens!
Es kommt stets darauf an, auf jenes u. anderes.
Deshalb ist hier eine hochgeladene Datei zielführender als Spekulation.
Gruß Gerd
AW: Bitte Beispielmappe mit Code m.r.T
11.09.2017 12:32:49
Jens
Warum es das Thema jetzt mehrere Male gibt weiß ich nicht. Habe lediglich nachgeschaut ob es bereits antworten gibt. Hatte dafür aber das Antwortformular die ganze Zeit im Hintergrund auf... kann es sein, dass das bei F5 neu einstellt?
So zurück zum Thema:
Wenn ich das Beispiel wie von Daniel erwähnt als einzelnes in einer neuen Arbeitsmappe ausführe, funktioniert es. Es wird tadellos das eingefügt was ich auch auslese.
In dem Makro, in dem ich z.Z. arbeite tut es das allerdings nicht.
Ich werde sofort eine Beispieldatei hochladen, macht glaube ich tatsächlich am meisten Sinn.
Anzeige
AW: VBA Zahlen mit Nachkommastellen
11.09.2017 12:43:14
Jens

Die Datei https://www.herber.de/bbs/user/116152.xlsm wurde aus Datenschutzgründen gelöscht


Anbei die Beispielmappe mit Code. Habe den Inhalt allerdings abgespeckt.
Bei Betätigen des Buttons sollen die Suchkenner rechts F4-10 auf den Seiten 1-4 gesucht werden und die passenden Werte auf der ersten Seite in Spalte C zurück gegeben werden.
AW: VBA Zahlen mit Nachkommastellen
11.09.2017 12:45:25
Jens
Ok, ich muss da glaub ich noch was checken. Bei der heruntergeladenen Datei funktioniert garnichts mehr.
AW: VBA Zahlen mit Nachkommastellen
11.09.2017 13:07:39
Gerd
Hallo Jens,
kaum macht man es richtig, schon funktionierts oder ? :-)
'Funktion gibt Wert der Suchvariable zurück
Function Get_Value(Value As String) As Double
Gruß Gerd
AW: VBA Zahlen mit Nachkommastellen
11.09.2017 13:10:18
Werner
Hall Jens,
mit Formel im Blatt GA_Values Zelle C4 und nach unten kopieren:
=WENN(ISTFEHLER(SVERWEIS(F4;INDIREKT("'"&INDEX({"1";"2";"3";"4"};VERGLEICH(1; (ZÄHLENWENN(INDIREKT("'"&{"1";"2";"3";"4"}&"'!A:A");F4)>0)+0;0))&"'!A:C");3;0));"";SVERWEIS(F4; INDIREKT("'"&INDEX({"1";"2";"3";"4"};VERGLEICH(1;(ZÄHLENWENN(INDIREKT("'"&{"1";"2";"3";"4"}&"'!A:A"); F4)>0)+0;0))&"'!A:C");3;0))
Die Zeilenumbrücke raus nehmen.
Gruß Werner
Anzeige
AW: VBA Zahlen mit Nachkommastellen
11.09.2017 13:17:17
Jens
Hallo Gerd,
danke für deine Antwort. In meiner Beispieldatei funktioniert es tatsächlich.
Ich hatte allerdings absichtlich String genommen, da nicht alle Zellen Zahlenwerte enthalten.
Wie kann ich nun double oder String zurück geben, je nach dem was in der Zelle steht... geht das überhaupt?
AW: VBA Zahlen mit Nachkommastellen
11.09.2017 13:18:43
Jens
Ok, geschafft. Variant funktioniert!
Danke!!! Dafür habe ich jetzt so lange gesucht.... :D
AW: VBA Zahlen mit Nachkommastellen
12.09.2017 09:32:13
Jens
Ich habe heute noch eine nachfolge-Frage:
Ich habe nun die Blätter "1-4" automatisch einlesen lassen. Diese sind jedoch als csv im englischen Format, also mit "." als Dezimaltrennzeichen. Soweit so gut.
Wenn ich dann die Routine von gestern durchlaufen lasse habe ich zwei Probleme.
1. Zeiten in hh:mm werden auf einmal dezimal dargestellt
2. wie kann ich die Werte wieder mit Komma darstellen. Mit replace funktioniert es leider nicht, dann habe ich alle 3 Stellen ein Komma, wo keins hingehört.
Zusätzlich habe ich noch eine andere Frage:
Beim einlesen der Daten aus den anderen Dateien dauert das schließen der zuvor geöffneten Dateien sehr lange. Ist das normal? Kann man das ggf. beschleunigen?
Anzeige
AW: VBA Zahlen mit Nachkommastellen
12.09.2017 10:05:40
Daniel
Hi
wenn du CSV-Datei über die Import-Funktion in eine Exceltabelle einliest (Daten - externe Daten - aus Text) kannst du detailliert einstellen, wie die Daten vorliegen, dh Trennzeichen, Dezimalzeichen, Uhrzeitformat.
Dies geschieht über einens Assistenten.
Wenn du hier die passenden Einstellungen machst, sollte deine Datei korrekt importiert werden und das unabhängig von der Länderversion, mit der du gerade arbeitest.
um den Import dann per VBA ausführen zu lassen, importiere einmal manuell und zeichne mit dem Recorder auf.
Gruß Daniel
AW: VBA Zahlen mit Nachkommastellen
12.09.2017 10:09:44
Jens
Die Idee mit dem Recorder ist nicht schlecht. Werde ich testen.
Über den Assistenten geht's klar. Über das Script bisher auch, nur die Einstellungen kann ich vorgeben wie ich will und es kommt nie das dabei raus, wie es der Assistent ausgibt.
Anzeige
AW: VBA Zahlen mit Nachkommastellen
12.09.2017 10:24:16
Jens
Jetzt spinnt mein System komplett.
Es klappt nicht mal mehr wenn ich es per Hand mache, kommt nur noch Mist bei raus. Kann man das System über Excel(VBA) überhaupt so verwirren?
AW: VBA Zahlen mit Nachkommastellen
12.09.2017 10:58:04
Jens
So System ist wieder i.o.
Scheinbar merkt sich Excel per VBA verstellte Einstellungen, auch über Schließen und sogar Neustart hinaus.
Habe das Makro nun mit einem Recorder aufgezeichnet, habe nun aber das Problem, dass der Pfad fix ist, da ich mehrere und verschiedene Dateien einlesen muss ich hier eine Variable angeben. Das bekomme ich jedoch nicht hin. Bekomme immer einen Error.
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;" & f, _
Destination:=Range("$A$1"))
f beinhaltet den kompletten Pfad inkl. Dateiendung... warum klappt das nicht?
Anzeige
AW: VBA Zahlen mit Nachkommastellen
12.09.2017 11:22:32
Jens
Das Problem hat sich nun erledigt. Mein Fehler. Hab es im WS abgelegt und nicht im Modul.
Bleibt mein letztes Problem:
Zeiten in hh:mm werden nach kopieren als Dezimalstellen dargestellt... Ideen?
Vielen Dank für den Tipp mit dem Recorder!
AW: VBA Zahlen mit Nachkommastellen
12.09.2017 11:32:03
Jens
erledigt
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige
Archiv - Verwandte Themen