Shortcut-Problematik (s.u.) in Excel - Unicode

Hallo,

ich habe wieder mal mit Makros rumgeschmissen bei der Beantwortung der Postings unten, aber das hat ja immer gewisse Nachteile.

Meine Frage:

Kann man auch Unicode-Zeichen über die Alt-Taste eingeben, so wie es ja mit ASCII-Zeichen geht? Ich habe festgestellt, daß auch bei Eingabe von Zahlen > 255 ein Zeichen ausgegeben wird, und das scheint laut Windows-Hilfe mit Länderspezifischen Geschichten zu tun zu haben.

Für Hinweise dankt dann
Kristian

Kann man auch Unicode-Zeichen über die Alt-Taste
eingeben, so wie es ja mit ASCII-Zeichen geht? Ich habe
festgestellt, daß auch bei Eingabe von Zahlen > 255 ein
Zeichen ausgegeben wird, und das scheint laut Windows-Hilfe
mit Länderspezifischen Geschichten zu tun zu haben.

Hallo Kristian,
ich gehe davon aus, bei Betätigung von ‚Alt‘ plus ZZZZZ, wobei zzzzz Werte von 0(32) bis 65535 annimmt, fortlaufend die 256er Blöcke diverser Zeichensätze zu sehen sind.
Ich habe in A1 66 reingeschrieben. Dann mit Reihe ausfüllen die Spalte A ausgefüllt mit Inkrement 256.
Dann bis hoch in den fünfstelligen Bereich überall mal rum getestet, also Alt plus die jeweilige Zahl in Spalte A in Spalte B eingegeben, überall erscheint ‚B‘, also das Zeichen für 66.
Also B hat den den zeichencode 66 oder 322 oder 834 usw.
Dies gilt jetzt nur für Schriftart Ariel, bei anderen Spezialschriftarten kann das anders sein

Um jetzt herauszufinden wie die einzelnen Zeichensätze sich unterscheiden wollte ich mir mal einige der zeichensätze anzeigen lassen und habe auch herumgemakrot*g*
Leider ohne Erolg.
Es gelang mir nicht in einem akro via Sendkeys die Eingabe von Alt plus Zahl zu simulieren.
MitSendkeys kann man zwar alles möglich an einzelne Zellen senden , aber nicht Alt Plus zahl, denn Sendkeys sendet das an die Anwendung, also excel, und excel interpretiert das als shortcut für die Symbolleisten. Je nach gewählter zahl klappten oben Fenster auf, gelegentlich schmierte Excel auch ab :smile:

Auch der Versuch eine inputbox zu öffnen und dorthin sendkeys
zu schicken scheiterte.
Leider habe ich durch die Absturz nicht mehr die Versuchsmakros.

May be, du hast ein paar Hinweise durch mein Posting bekommen. Poste mal hier wenn du die Alt-Eingabe mittels Makro realisieren kannst, interessiert mich.
Gruß
Reinhard

ps: nur mal so, nicht so richtig wichtig aber vielleicht weißt du warum das erste Makro nicht richtig läuft, ich dachte immer eine neue Selection wechselt die Zelle?

dieses Makro schreibt alles in A1 hinein :

Range(„a1:a30“).Select
For Each zell In Selection
SendKeys „abc“ ’ ,true oder ,false bringt keinen Unterschied
Next zell

dieses Makro schreibt wie gewünscht abc in alle Zellen

Range(„a1:a30“).Select
For Each zell In Selection
SendKeys „abc~“ ’ ,true oder ,false bringt keinen Unterschied
Next zell

Tilde ist Enter

Hallo Kristian,
ich gehe davon aus, bei Betätigung von ‚Alt‘ plus ZZZZZ, wobei
zzzzz Werte von 0(32) bis 65535 annimmt, fortlaufend die
256er Blöcke diverser Zeichensätze zu sehen sind.

Also B hat den den zeichencode 66 oder 322 oder 834 usw.

Ja, und damit scheint die Nummer nichts mit dem Unicode zu tun zu haben. Probiere mal ChrW(&h8805) aus - es kommt nicht etwa das Größe-Gleich-Zeichen.

Dies gilt jetzt nur für Schriftart Ariel, …

Und bei Persil? :wink:

May be, du hast ein paar Hinweise durch mein Posting bekommen.
Poste mal hier wenn du die Alt-Eingabe mittels Makro
realisieren kannst, interessiert mich.

Ich fürchte, nicht, aber wenn, dann melde ich mich.

ps: nur mal so, nicht so richtig wichtig aber vielleicht weißt
du warum das erste Makro nicht richtig läuft, ich dachte immer
eine neue Selection wechselt die Zelle?

dieses Makro schreibt alles in A1 hinein :

Ist ja auch klar, weil die For-Schleife auf das SendKeys Null Einfluß hat. Du hättest genauso gut For i = 1 To 30 machen können. Dein Objekt zell nutzt Du überhaupt nicht. Geschrieben wird immer in der aktiven Zelle, und die wird in dem Makro nicht verändert. Mit zell.Value = „abc“ hätte es funktioniert, aber dazu brauchst Du kein SendKeys, und dann reicht auch Range(„a1:a30“).Value = „abc“ :wink:

Range(„a1:a30“).Select
For Each zell In Selection
SendKeys „abc“ ’ ,true oder ,false bringt keinen Unterschied
Next zell

dieses Makro schreibt wie gewünscht abc in alle Zellen

Range(„a1:a30“).Select
For Each zell In Selection
SendKeys „abc~“ ’ ,true oder ,false bringt keinen Unterschied
Next zell

Ja, weil Du mit der Tilde immer Enter „drückst“. Und damit wird die aktive Zelle geändert. Wenn Du in den Optionen allerdings „Gehe bei Enter nach rechts“ eingestellt hättest, wäre A1, B1, C1 … AAirgendwas ausgefüllt worden, völlig unabhängig von Deiner Selektion.
Es müßte übrigens auch das hier gehen:

For Each zell In Range(A1:A30)
 zell.value = zell.row
Next zell

Kristian

Hallo Kristian,

Ja, und damit scheint die Nummer nichts mit dem Unicode zu tun
zu haben. Probiere mal ChrW(&h8805) aus - es kommt
nicht etwa das Größe-Gleich-Zeichen.

*grins* warum sollte da auch das größergleich Zeichen kommen, wäre ein Zufall, oder meintest du etwa ChrW(8805) *kicher*

Dies gilt jetzt nur für Schriftart Ariel, …

Und bei Persil? :wink:

Versteh ich nun nicht *grumpf*
*verzweifelt im Inet nach der Schriftart Ariel google*

Geschrieben wird immer in der aktiven Zelle, und
die wird in dem Makro nicht verändert.

Gut, ich formuliere meine Frage um,
WIE sage ich dem sendkeys wohin es zu schreiben hat, bzw. warum wird hier alles in E1 geschrieben (bzw. in den Bereich E1:E3 mit „abc~“):
Sub test()
Range(„a1“).Select
Range(„a1“).Activate
SendKeys „abc“
Range(„c1“).Select
Range(„c1“).Activate
SendKeys „abc“
Range(„e1“).Select
Range(„e1“).Activate
SendKeys „abc“
End Sub

Gruß
Reinhard

SendKeys guckt nicht, wo es hinschreibt

*grins* warum sollte da auch das größergleich Zeichen kommen,
wäre ein Zufall, oder meintest du etwa ChrW(8805) *kicher*

Gut, falsch formuliert. Ich meinte eigentlich Alt + &h8805, aber das dürfte schwierig werden :wink:

Dies gilt jetzt nur für Schriftart Ariel, …

Und bei Persil? :wink:

Versteh ich nun nicht *grumpf*
*verzweifelt im Inet nach der Schriftart Ariel google*

Elso wenn Du so gesucht hest, solltest Du es euch verstenden heben. :wink:

Gut, ich formuliere meine Frage um,
WIE sage ich dem sendkeys wohin es zu schreiben hat, bzw.
warum wird hier alles in E1 geschrieben (bzw. in den Bereich
E1:E3 mit „abc~“)

Das sagst Du dem gar nicht. SendKeys schreibt da hin, wo gerade der Cursor ist, also der „Windows-Schreib-Cursor“, und falls im richtigen Augenblick ein Netscape-Fenster mit Eingabe-Formular aufpoppt, dann geht es halt da rein.
Du mußt also dafür sorgen, daß der Cursor an der richtigen Stelle ist, so, wie Du es in dem letzten Beispiel ja getan hast, wobei Du das „Activate“ weglassen kannst, weil das im Select schon mit drin ist (umgekehrt allerdings nicht, was manchmal praktisch ist).

Kristian
*going offline for today*