VBA Zahl wird einmal mit und einmal ohne Anführungszeichen zurückgegeben

Ausschnitt aus Tabelle1 - (programmieren, Microsoft, Microsoft Excel) Ausschnitt aus Tabelle2 - (programmieren, Microsoft, Microsoft Excel)

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Hallo dandi46,

Zuerst einmal: Benutze bitte nur im absoluten Notfall Variant. Das ist typsicherer, compilerfreundlicher und schlichtweg einfacher zu handhaben:

Option Excplicit

Sub Testsub1()

Dim Test1$, Test2$

Test1 = Tabelle1.Cells(1326, 1).Text
Test2 = Tabelle2.Cells(34, 3).Text

End Sub 

".Test" gibt evtl. nicht den Wert als String, sondern den gesamten Zellinhalt(mit Formatierung) zurück. Bei Bedarf einfach weglassen...

Grüsse

Higlav


dandi46 
Fragesteller
 04.09.2013, 09:18

Mit .Text hats geklappt! Vielen Dank! (schon wieder) ;)

0

als zahl dürfen keine Zeichen verwendet werden nur zahlen (integer) du musst text benutzen(string)

Der Befehl Test1 = Tabelle1.Cells(1326, 1) gibt eigentlich einen Range zurück. Ich würde den Wert mit .Value oder .Value2 abfangen. Eine Konvertierung kannst du mit CInt (wenn ich mich recht erinnere) vornehmen. Anführungszeichen kannst du mit Replace durch leere Zeichenketten ersetzen.

Du kannst aber auch vor dem Import die Spalten schon als Zahl formatieren.

Woher ich das weiß:Berufserfahrung – Programmierer

dandi46 
Fragesteller
 04.09.2013, 09:21

Mit .value hats nicht geklappt, nur mit .text aber danke für deine Hilfe :) Ich vergesse .value nämlich wirklich oft!

1
augsburgchris  04.09.2013, 14:54
@dandi46

Value brauchst du auch nicht da das der Defaultwert ist. Du kannst ja in eine Variable keinen Bereich schreiben. sondern nur den Inhalt eines Bereiches. Wenn ich sage "Ich ess noch einen Teller", esse ich ja auch den Inhalt und nicht das Geschirr. So schlau ist Excel dann schon. ;-)

0