Excel überlisten: Zahlen als String übergben

DrMueller

Erfahrenes Mitglied
Hallo Leute,

ich habe hierzu schon mal eine Anfrage gestartet:
http://www.tutorials.de/visual-basi...e-value-befuellen-mit-als-erstes-zeichen.html

hier wurde sehr schön dargestellt, wie man Excel forcieren kann, einen String aus einer Zahl zu machen.

Leider habe ich in diesem Fall kein Excel-Objekt zur Verfügung, will heissen: Wir machen einen String mit Chr(9) getrennt, schreiben diese in eine XLS-Datei und öffnen diese entsprecend, ohne eben ein Objekt zu haben, dem ich das NumberFormat mitteilen könnte.


Gibt es hier wohl auch eine Möglichkeit rein über den Text zu sagen, dass es ein String und keine Zahl ist? Leider kenne ich kein Zeichen ohne tatsächliche Grösse, das man einfach vornedran setzen könnte, damit es überlistet wird.



Wie immer vielen Dank im Voraus und ein schönes WE


Müller Matthias
 
Ist es eine echte XLS oder eine CSV? Chr(9) ist das Tabulator-Steuerzeichen.
Und wie öffnet ihr es, wenn ihr kein Excel-Objekt zur Verfügung habt?
Und was meinst du mit "Leider kenne ich kein Zeichen ohne tatsächliche Grösse"? Das habe ich nicht so recht verstanden.
 
Macht ihr Shell("Excel.exe"....) oder ShellExecute("open","myexcel.xls"....)?

EDIT: Ich hab gerade ein wenig rumgespielt. Hast du mal an CHR(13) gedacht (CarriageReturn)?
 
Zuletzt bearbeitet:
Hiho,

ShellExecute wird verwendet.
Ehrlich gesagt, war das nur so ein Gedanke von mir, womit man das umgehen könnte. Konkret habe ich nichts gefunden. Funktioniert es denn mit CHR13?
 
Ich hab mal spaßeshalber folgendes in excel gemacht:

Me.cells(1,1)=chr(13) & "0123456789"

gemacht, ohne vorher die Zelle zu formatieren. Excel hat mir sauber linksbündig mit führender Null und ohne zeilenumbruch angezeigt.
 
Eine Idee hätte ich noch.

Visual Basic:
Dim MyString As String
Dim FillZeros As String

    MyString = "012345"
    FillZeros = String(Len(MyString), "0")


    MyExportSheet.Cells(1, 1).FormulaLocal = "=TEXT(" & Chr(34) & MyString & Chr(34) & ";" & Chr(34) & FillZeros & Chr(34) & ")"
 
Ach Mist, die Idee wäre wirklich gut, gibt aber wiederum zwei Probleme:
Da ichs direkt als String übergebe, wertet er =TEXT nicht aus.
Durch das ; nimmt er das als Trennzeichen der Felder und nicht der Operation.

Scheint hier wirklich so nicht möglich zu sein,


Falls noch eine Idee rauskommt, probiere ich die sehr gerne.

Danke schon mal.
 
OK, dann jetzt die Frage: Wie baut ihr diese xls-Datei überhaupt auf?
Für mich klingt das so, als ob das Ding die Dateiendung XLS hat, aber eigentlich eine "normale" Textdatei ist.
 

Neue Beiträge

Zurück