PDA

Vollständige Version anzeigen : formatieren


Rudi G
18.03.2009, 09:12
Hallo zusammen,
ich habe folgendes Problem:

über eine Inputbox trage ich einen Zahlenwert in eine Zelle ein,
die gesamte Zeile wurde zuvor mit "Comma" formatiert.
Mein eingetragener Wert wird aber nicht formatiert.
An welcher Stelle muss man "Comma" setzen damit dieser Zelleintrag auch auf Comma formatiert wird?
Oder muss man diesen Wert speziell formatieren?

hier noch meine Inputbox:

Dim Eingabe As Variant

Eingabe = InputBox("Zugangskonto aus SuS!", vbQuestion + vbOKCancel) '"lt.Konto 05 " & Range("A2").Value

Range("K" & Cells(Rows.Count, "K").End(xlUp).Offset(-9, 1).Row) = Eingabe '"lt.Konto 05 " & Range("A2")
'Range("K" & Cells(Rows.Count, "K").End(xlUp).Offset(-9, 1).Row).Select

IngGi
18.03.2009, 09:49
Hallo Rudi,

alles was du aus einer Inputbox übernimmst ist Text! Auch rein numerische Angaben sind Zahlen als Text. Daher klappt die Formatierung in der Zelle nicht. In der Zelle steht also keine Zahl, sondern ein Text, der wie eine Zahl aussieht. Das kannst du ändern, indem du den Datentyp von Text auf z.B. Double änderst. Wenn die Eingabe in die Inputbox allerdings mal nicht numerisch ist, ergibt das Umwandeln einen Laufzeitfehler, den du abfangen solltest. Schau dir mal das folgende Beispiel an, wie man so etwas beispielsweise machen kann:

<div><link href="http://www.ms-office-forum.net/forum/externals/codeconv.css" rel="stylesheet"><pre><span class="TOKEN">Dim</span> v <span class="TOKEN">As</span> Variant
<span class="TOKEN">Do</span>
v = InputBox(&quot;Wert eingeben!&quot;)
<span class="TOKEN">If</span> IsNumeric(v) <span class="TOKEN">Then</span>
v = <span class="TOKEN">CDbl</span>(v)
<span class="TOKEN">Exit Do</span>
<span class="TOKEN">Else</span>
MsgBox &quot;Ihre Eingabe war nicht numerisch!&quot;, vbCritical
<span class="TOKEN">End</span> <span class="TOKEN">If</span>
<span class="TOKEN">Loop</span>
Range(&quot;A1&quot;) = v
&nbsp;</pre></div>
Code eingefügt mit dem MOF Code Converter (http://www.ms-office-forum.net/forum/codeconverter.php)

Gruß Ingolf

Rudi G
18.03.2009, 10:20
Hi Ingolf,

so klappt es,

SUPER, vielen Dank.

Eine kleine Frage noch an den Experten:

im oberer blauen Balken der Inputbox erscheint die "33"
was will mir diese Zahl sagen ?
wo kommt die her ?
kann ich die ändern?

IngGi
18.03.2009, 11:26
Hallo Rudi,

bei InputBox wird der Hinweistext durch den ersten Parameter festgelegt und der Titel im blauen Balken durch den zweiten Parameter, also
v = InputBox("Bitte einen Preis eingeben.", "Kaufpreis")
Gruß Ingolf

Rudi G
18.03.2009, 12:04
Hi Ingolf,

super nun ist auch die Inputbox perfekt.

Vielen Dank hierfür.