1Danke
ERLEDIGT
JA
JA
ANTWORTEN
10
10
ZUGRIFFE
780
780
EMPFEHLEN
-
Hallo Leute,
wir befüllen 'Textmarken' in Excelvorlagen mit folgender Zeile:
Code :1
docProgram.ActiveWorkbook.names(MarkName).Value = MarkValue
Klappt soweit entsprechend gut, nur gibt es Probleme, wenn z.B. eine internationale Telefonnummer befüllt wird, welche als erstes Zeichen ein '+' enthält.
Excel interpetiert dies als Operation und gibt die entsprechende Fehlermeldung aus. Die Lösung, die Excel vorschlägt ist, dass man ein ein Hochkomma hinzufügt. Dies sieht jedoch entsprechend unschön aus, wenn in Listen teilweise Hochkommas erscheinen.
Ich habe etwas gegoogelt, jedoch keine Lösung gefunden, wie man das Names-Objekt anders als mit 'Values' befüllen könnte. Gibt es hier eine Alternative resp. hat jemand so einen ähnlichen Fall bereits gelöst?
Wie immer danke ich für jede Antwort.
Müller Matthias
-
19.04.11 16:10 #2
- Registriert seit
- Sep 2004
- Ort
- Möglingen (BaWü)
- Beiträge
- 3.109
Ist gar nicht so einfach da was passendes zu finden.
Aber du könntest anstatt des Hochkommas vielleicht ein Leerzeichen davor setzen. Das sieht man nicht und wenn alle Werte damit beginnen, sieht es auch von der Ausrichtung ordentlich aus!?Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.
Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.
-
über die Zelle (Range) und das NumberFormat auf "@" setzen (=> String)
Code vb:1 2 3 4
With ActiveWorkbook.Names(MarkName).RefersToRange .NumberFormat = "@" .Value = MarkValue End With
---------------------------------------------------------------------------------------------------
item: Ich habe es mir aus gesundheitlichen Gründen abgewöhnt unformatierten Code zu lesen (Auch SQL-Statements kann man formatieren!)
item: Tutorial: [PHP][MySQL] Debug Queries
item: Schreibt mir keine PN mit Fragen die im Forum beantwortet werden können - ich mache kein persönliches coaching
item: Bitte zur besseren Lesbarkeit PHP-Code in [PHP]...[/PHP], SQL in [SQL]...[/SQL], Visual Basic in [VB]...[/VB] etc. schreiben
-
Vielen Dank für die schnellen Antworten. Das Numberformat scheint tatsächlich die Lösung zu sein.
Da dieses jedoch nur für das NamedRange Objekt gilt und wir mit dem Names arbeiten, kann ich das nicht so einfach nehmen. das 'RefersToRange' verdoppelt und verschiebt alle Werte.
Im Anhang ist ein Beispiel, wie es derzeit aussieht: Eigentlich sollte nur die Spalte C befüllt werden, denn da sind die Werte drin. Diese erscheinen eben nun auch korrekt mit dem '+', aber B wird auch befüllt.
-
20.04.11 08:22 #5
Wie wärs mit
Das Apostroph ist für Excel das Zeichen, dass ein String folgt, egal welches Format die Zelle hat.Code vb:1
docProgram.ActiveWorkbook.names(MarkName).Value = "'" & MarkValue
Der Doc!A: Hilfe, ich hab zwei Dateien hinzugefügt und nun sind die anderen weg
B: Die Scrollbar da rechts ist dir schon mal aufgefallen?
-
20.04.11 09:25 #6
- Registriert seit
- Sep 2004
- Ort
- Möglingen (BaWü)
- Beiträge
- 3.109
@Doc: Matthias oben doch geschrieben das er das schon versucht hat und es ihm nicht gefällt!?
Auf dieser Seite hier wird einiges dazu erklärt.
Habe es mit dieser Beschreibung und yaslaws obigem Tipp mal so versucht und es scheint zu klappen:
Code vb:1 2
Evaluate(ActiveWorkbook.Names("MarkName").Value).NumberFormat = "@" Evaluate(ActiveWorkbook.Names("MarkName").Value).Value = MarkValue
Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.
Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.
-
20.04.11 10:59 #7
OK, man sollte nicht 3 Sachen auf einmal tun (vor allem wenn Kaffee trinken eine davon ist), hab ich geflissentlich überlesen.
Der Doc!A: Hilfe, ich hab zwei Dateien hinzugefügt und nun sind die anderen weg
B: Die Scrollbar da rechts ist dir schon mal aufgefallen?
-
20.04.11 11:07 #8
- Registriert seit
- Sep 2004
- Ort
- Möglingen (BaWü)
- Beiträge
- 3.109
Hi Doc,
für dich war es besser du hast es überlesen als das du den Kaffee verschüttet hast!Sollte ein Tipp von mir geholfen haben, habe ich nichts gegen eine entsprechende Bewertung oder ein Danke und wenn ein Problem gelöst ist, dann den Beitrag bitte auch als erledigt markieren.
Was ich gar nicht leiden kann sind User die es nicht für nötig halten auf Antworten zu reagieren, die Themen nicht als erledigt markieren und/oder die sich nicht für Hilfe bedanken.
-
Hallo Leute,
mal wieder vielen vielen Dank für die Antworten.
Ich muss leider mal wieder meine Unwissenheit, was VBA angeht unter Beweis stellen. Laut Google ist ja Evaluate ein VBA-Command. Wie bekomme ich denn diesen in's VB6?
-
So genau so reingebastelt, leider scheint die Range immer noch die zwei Felder zu umfassen. In der Excelvorlage ist die B-Spalte komplett leer, weswegen es mich schon etwas erwundert.
Ich acker mal Tombes VBA-Link durch, vlt. gibt es noch eine andere Möglichkeit.
-
Ok doch noch geschafft.
Noch einmal vielen Dank für die direkte Hilfe als auch für den Lerneffekk.
Ähnliche Themen
-
Erstes und letztes Zeichen herausfiltern
Von Rappa im Forum PHPAntworten: 1Letzter Beitrag: 14.12.10, 11:57 -
erstes Zeichen ersetzen
Von magic_halli im Forum JavaAntworten: 1Letzter Beitrag: 20.09.06, 08:17 -
nur erstes zeichen einer variablen :-/
Von fireflyhope im Forum C/C++Antworten: 7Letzter Beitrag: 10.10.04, 15:11 -
Erstes Zeichen von String erkennen
Von Maddinel im Forum C/C++Antworten: 3Letzter Beitrag: 21.08.03, 10:14 -
[php] erstes und letztes zeichen löschen
Von cater im Forum PHPAntworten: 4Letzter Beitrag: 26.08.01, 12:14





Zitieren


Login





