Office - Word, Excel und Co. 9.751 Themen, 41.564 Beiträge

SendKeys Alternative ???

evildeath / 9 Antworten / Baumansicht Nickles
Hi Leutz !

Ich verzweifel gleich. Habe folgendes Problem ...

Ich bekomme Listen aus LINUX direkt nach Excel, wo sie dann über ein
Makro grafisch umgesetz werden.
Das Problem ist, wenn ich zum Beispiel ein Feld habe was als DATUM oder ZAHL
definiert ist wird zwar das gewünschte Format umgesetzt, aber es wird nicht dargestellt!!

Ich bekomme eine Zahl z.B. so rein : "16.000,00" und linksbündig
Aussehen soll sie aber so : "16.000" und rechtsbündig

Dies passiert erst nachdem ich F2 zur erneuten Bearbeitung und ENTER drücke.

Habe über SendKeys zwar schon eine Menge gelesen, aber 1. funzt das bei mir net (WIN 2000) und 2. bekomme ich riesige Listen und wenn EXCEL dann mit SendKeys am Ende noch mal jedes Feld durch gehen muss, dauert das ewig.

Es muß doch eine Funktion geben, wo ich sagen kann, dass das Feld einfach neu berechnet werden soll, oder?

Danke für eure Hilfe ...

oli
bei Antwort benachrichtigen
CrustyBurrito evildeath „SendKeys Alternative ???“
Optionen

Schon mit F9 probiert? Wie kommen die Listen von Linux? Als txt? Was soll "grafisch umgesetzt" bedeuten?

bei Antwort benachrichtigen
evildeath CrustyBurrito „Schon mit F9 probiert? Wie kommen die Listen von Linux? Als txt? Was soll...“
Optionen

Hi.
Also. Es wird ein selbst programmiertes Formular über DDE nach EXCEL gesandt. In dem Formular selber werden Steurzeichen mit gegeben, wie z.B. Fettdruck, Schriftfarbe, Rahmen, Schriftgrösse usw. ... .Diese wandelt EXCEL dann in die jeweilige Aktion um. Klappt auch alles wunderbar. Nur die Zahlenformate erscheinen erst (also mit tausender Punkt, rechtsbündig, rot wenn negativ) nachem ich die Zelle erneut manuelle bestätige. Sie werden als Standard Format dargestellt.
Wollte über den Befehl "SendKeys" die Taste F2 und ENTER mitgeben (zur erneuten Bestätigung) aber da die Listen ziemlich gross sind, dauert es einfach zu lange jedes Feld zu bestätigen.
Warum stellt EXCEL das nicht sofort dar ?

Vielen Dank im voraus ...

greetz
oliver

bei Antwort benachrichtigen
CrustyBurrito evildeath „SendKeys Alternative ???“
Optionen

Liegt wohl an den Grundeinstellungen. Hast du die Einträge unter "Extras/Optionen/Berechnungen" geprüft?

bei Antwort benachrichtigen
evildeath CrustyBurrito „Liegt wohl an den Grundeinstellungen. Hast du die Einträge unter...“
Optionen

Hmm, das prüf i diret mal ...
danke

bei Antwort benachrichtigen
evildeath CrustyBurrito „Liegt wohl an den Grundeinstellungen. Hast du die Einträge unter...“
Optionen

Hallo ...
Daran liegt es auch nicht ...
Habe mal unter folgendem LINK eine Testdatei frei gelegt.
Damit dürfte das Prob einleuchtender werden ...

www.kdr.de/test.xls

Vielen Dank im voraus.
oliver

bei Antwort benachrichtigen
CrustyBurrito evildeath „SendKeys Alternative ???“
Optionen

Jetzt ists klar. Das liegt am Zellenformat. Über DDE holst du die Daten vermutlich in eine leere Tabelle. Die Zellen sind normalerweise alle auf "Standard". Du solltest hier aber besser nicht in eine Standardtabelle sondern in eine eigene Vorlage importieren. In dieser Vorlage kannst du in den entsprechenden Spalten das Format vordefinieren. Setze die Formatierung der entsprechenden Zellen bzw. Spalten vorher auf "Zahl" und "0 Dezimalstellen". Dann wird gleich richtig angezeigt.
Andere Möglichkeit wäre das ganze nachträglich über ein VBA-Makro zu bereinigen. Diese Möglichkeit würde ich aber nur nehmen, wenn das mit der Vorlage nicht möglich ist oder du vorher die Inhalte der Zellen nach bestimmten Kriterien checken musst.
Befehle fürs Makro:
Range("XX").Select
Selection.NumberFormat = "0"
XX steht hier für die einzelne Zelle bzw den Bereich, du musst da also z.B. A2 oder wie in deiner Beispieldatei A1:A25 eintragen.

bei Antwort benachrichtigen
evildeath CrustyBurrito „Jetzt ists klar. Das liegt am Zellenformat. Über DDE holst du die Daten...“
Optionen

Hi!

Danke für den TIP. Werd ich gleich mal testen.
Das Problem is ja, das die Datei wirklich nur ein meeeega
minimaler Ausschnitt von dem ist, was wirklich in der Tabelle steht.
Die jeweiligen Spalten sind unterschiedlich formatiert.
Kann das Format nciht bei allen Spalten gleich ändern.
Deswegen geb ich das Format de Spalte über Steuerzeichen mit was EXCEL
eigentlich umsetzen sollte ... naja sollte...

Aber is schon richtig was du sagst. EXCEL erkennt Zelle als STANDARD.
Aber warum?
Wenn ich mir die Eigenschaften der Zelle anschaue, ist bereits ZAHL konvertiert ?? Warum stellt er es nicht dar ??

Vielen dank schon jetz einmal für deine Mühe

greetz
oliver

bei Antwort benachrichtigen
CrustyBurrito evildeath „SendKeys Alternative ???“
Optionen

Wie du schon richtig erkannt hast: Excel macht manchmal was es will. Wenn dir das von oben nicht weiterhilft, es gäbe auch noch die DAU-Methode mit der du Excel überlisten kannst. Kopiere eine leere Zelle, dann markiere den Rest der Tabelle und gehe auf "Inhalte einfügen" und "addieren". Die Zellen mit Text werden davon nicht betroffen. Leere Zellen bekommen allerdings eine "0". Dies ist auch der Beweis wie doof Excel ist: Schau mal danach aufs Format, da steht wieder Standard!!!

bei Antwort benachrichtigen
evildeath CrustyBurrito „Wie du schon richtig erkannt hast: Excel macht manchmal was es will. Wenn dir...“
Optionen

Hallo!

Vielen Dank für deine Mühe.
Den Tip habe ich gerade bekommen und das funzt super :-)))
Nochmal Danke ...

Schönen Tag noch

lieben gruß
oliver

> Option Explicit

> Sub Test()
> Dim WS As Worksheet
> Dim Zelle As Object

> Set WS = Worksheets(1)

> For Each Zelle In WS.UsedRange
> If IsNumeric(Zelle) And Zelle "" Then Zelle = Zelle * 1
> Next Zelle
> End Sub


bei Antwort benachrichtigen