Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.04.2024 20:05:21
28.04.2024 18:33:31
28.04.2024 18:25:12
28.04.2024 14:18:05
Anzeige
Archiv - Navigation
1948to1952
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA: bekomme Funktiontasten nicht dazu z.b. einen Kommentar

VBA: bekomme Funktiontasten nicht dazu z.b. einen Kommentar
09.10.2023 16:39:55
Georgi
Hallo Experten,
ich habe alle Menüleisten per VBA ausgeblendet, ebenso das Menü "Rechtsklick Maus".
Da die Benutzer aber bestimmte Funktionen nutzen müssen, habe ich versucht, diese auf die Funktionstasten zu legen.

F1 konnte ich mit onkey per Makro, eine MsgBox mit Hilfemenü zuordnen.
Aber alles weitere, wie z.B. die Funktion Farbauswahl für die Zellenfarbe oder ein Kommentarfeld in einer Zelle zu erstellen, zu bearbeiten oder zu löschen klappt nicht.
Direktzuordnung über onkey ging garnicht und auch SendKeys in einem Makro greift nicht richtig, wobei ich das mit den Tastenkürzel ("%pn") eh nicht so prickelnd finde, da gibts bestimmt eine schönere Lösung.
(Menüshort %pn = ALT, p, n).
Bei dem Versuch (von gefühlt hunderten) wurde nur das n in der Zelle dargestellt.
Ich kann mir vorstellen, dass die Kürzel von der Menüleiste nicht greifen, da ich sie ja mit False ausgeschaltet habe.

Ich habe dann hier im Forum gesehen, dass es direkte VBA-Befehle gibt, die für meine Zwecke nicht passen.
Der dortige Hinweis auf die VBA-Hilfe brachte mich nicht weiter, da ich nicht verstehe, was die Befehle alles ermöglichen und wie sie angewendet werden.
Daher komme ich alleine nicht mehr weiter und hoffe hier auf Hilfe.

Könnt Ihr mir einen Lösungsansatz geben, um oben aufgeführte Funktionen in ein Makro oder direkt auf eine Funktionstaste zu legen?

Viele Grüße
Georg


AW: VBA: bekomme Funktiontasten nicht dazu z.b. einen Kommentar
09.10.2023 16:56:23
daniel
HI
wenn du viele Funktionen hast, die der Anwender ausführen können soll, würde ich eine Userform erstellen mit den entsprechenden Buttons.
die kannst du selbst gestalten und der Anwender kann sie dahin schieben, wo sie ihn am wenigsten stört, dann brauchst du keine Tastaturkombinationen oder ähnliches
"Einfache" Befehle kannst du dann über die Buttons ausführen lassen.
Wenn du komplexere Menüfunktionen ausführen lassen willst (also welche mit Eingabemaske oder Assistent), dann gibt es dafür die Funktion:
Application.Dialogs(xlDialogxxxx).Show
die möglichen Dialoge zeigt dir Excel bei der Eingabe in der Intellisense (es gibt sicherlich auch eine Hilfeseite dazu).

Gruß Daniel
Anzeige
AW: VBA: bekomme Funktiontasten nicht dazu z.b. einen Kommentar
10.10.2023 11:50:07
Oberschlumpf
Hi Georg,

mit Google und dem Suchtext "vba funktionstasten" habe ich fast 40.000 Treffer gefunden - und gleich der 2. Treffer beantwortet deine Frage.
Hilfts?

Ciao
Thorsten
AW: VBA: bekomme Funktiontasten nicht dazu z.b. einen Kommentar
10.10.2023 15:51:54
Georgi
Hallo Thorsten,
gefühlt habe ich die 40000 auch schon gelesen, aber es geht nicht um eine "normale" Zuordnung der Funktionstasten.
Das war/ist kein Problem.

Insofern war das keine Hilfe...

Wenn Du tatsächlich im Internet gefunden hast, wie man per Funktiontaste einen Kommentar in eine Zelle bekommt, bei ausgeblendeter Menüleiste, dann sei doch so nett und stell den Link hier rein.
Das würde mir helfen ;-)

Viele Grüße
Georg

Anzeige
AW: VBA: bekomme Funktiontasten nicht dazu z.b. einen Kommentar
10.10.2023 17:13:45
Oberschlumpf
Hi Georg,

"...aber es geht nicht um eine "normale" Zuordnung der Funktionstasten...."
Aber natürlich geht es auch um die Zuordnung einer oder mehrerer Funktionstasten! Denn ohne dieser Zuordnung ist und bleibt das Drücken von z Bsp F1 der Hilfe-Aufruf in Excel!

Für'n Ahnungslosen (Erfahrungslevel des Fragestellers: Basiskenntnisse in Excel) bist du echt arrogant!

Und natürlich kann ich jede beliebige Zelle nach obiger "Funktions-Anpassung" von z Bsp Taste F1 mit jedem beliegen Kommentartext belegen - egal, ob Menüs aus- oder eingeblendet sind.

Und..ähh...nö, ich zeig dir als Lösung nich den Code - weil - siehe Hinweis wegen Arroganz.

Aber ich beschreib dir den Weg zum Code.

1. Weise im Open-Ereignis der Datei für F1-Taste das Makro "test" zu
2. in einem allgemeinen Modul erstellst du das Makro "test"
3. Im Makro "test" stehen einfach nur die Befehle für...
- deiner Wunschzelle, z Bsp A1, ein Kommentar hinzufügen
- den Kommentar ausgeblendet lassen
- als Kommentartext z Bsp "das ist ein Kommentartext" eintragen

So, Datei speichern, schließen, öffnen, F1 drücken = in Zelle A1 wurde ein Kommentar mit Text "das ist ein Kommentartext" hinzugefügt

Ciao
Thorsten
Anzeige
AW: VBA: bekomme Funktiontasten nicht dazu z.b. einen Kommentar
10.10.2023 19:50:11
Georgi
Hallo Thorsten,

ich weiss zwar nicht, wo ich jetzt arrogant war, finde es aber witzig.
Denn wenn ich also übertrieben hätte, dürfte ich arrogant sein?
Spass :-)

Danke für Deinen Lösungsansatz, auch wenn das für Dich womöglich arrogant scheint, so wie du das schreibst bekomme ich es hin.
Es ist aber nicht die Lösung weil:
Der Satz nach dem 1. Bindestrich, meine Wunschzelle ist die Activzelle, kann A1 sein, doch ich will dort ja keinen festen Kommentar hinzufügen, der irgendwo abgelegt ist und den man immer wieder aufrufen kann.
Es soll das Kommentar-Eingabefeld erscheinen, wo der Benutzer dann ganz normal einen Kommentar einsetzen, bearbeiten und löschen kann.
In der Zelle selbst, ist schon ein Wert, der nicht durch einen "Kommentar" überschrieben werden darf.

Das Problem dabei ist, dass wenn ich mit Sendkeys aus einem Makro heraus, mittels der Tastenfolge aus dem Menü das Kommentarfeld aufrufe, dass es gleich wieder verschwindet, da Sendkeys die Zeichenfolge übermittelt hat und das Makro weiterläuft oder beendet wird. Man kann das Kommentarfeld also nicht befüllen.

Die Waitfunktion hilft dort auch nicht, da in dieser Zeit, kein Kommentar eingegeben werden kann.
Das ist mein bisheriger Wissenstand, in der Geschichte...
Von daher denke ich, dass es mit Sendkeys nicht funktioniert.

Mir fehlt also ein Befehl, womit ich das Kommentarfeld bzw. -Maske (ist nicht wirklich eine...) erzeugen/aufrufen kann.

By the way, ich kenne die Fachbegriffe in Excel nicht alle wirklich und in VBA kaum was und habe deswegen Basiskenntnisse eingetragen... Ist das für eine Antwort sooo entscheidend?

Viele Grüße
Georg

Anzeige
AW: VBA: bekomme Funktiontasten nicht dazu z.b. einen Kommentar
10.10.2023 19:52:25
Georgi
Vergessen den Haken zu setzen...
AW: VBA: bekomme Funktiontasten nicht dazu z.b. einen Kommentar
11.10.2023 06:57:34
Oberschlumpf
Hi Georg,

ich möchte mich "halb" entschuldigen - aber nicht ganz! :-)
Die Bezeichnung "arrogant" nehme ich zurück, aber ich finde trotzdem, dass du..ähh.."etwas abgehoben" bist/warst :-)

Denn trotz deines gegenteiligen Hinweises ist und bleibt die Zuweisung Application.OnKey erforderlich, weil eben sonst bei drücken deiner Wunschtasten rein gar nix...anderes...als die jeweilige Standard-Funktion passiert.

Nun denn, ich hatte Lust ein wenig zu basteln....und Gerd hat dir schon eine sehr gute Grundlage gezeigt.

Diese Grundlage hab ich ein wenig "aufgebohrt"...siehe hier...
https://www.herber.de/bbs/user/163324.xlsm

In meiner Bsp-Datei werden während des Öffnens der Datei die Funktionstasten F11 + F12 mit Application.OnKey "umgeleitet"
- F11 = Farbänderung oder -löschung der Zellhintergrundfarbe
- F12 = Kommentar erstellen, bearbeiten oder löschen (du wolltest zwar 3 F-Tasten, es genügt aber auch nur eine F-Taste)
Während des Schließens der Datei werden wieder die Standardfunktionen den F-Tasten zugewiesen.
(ok, vllt müsste man das ändern, denn wenn du zeitgleich noch andere Exceldateien geöffnet hast, würde das Umleiten von F-Tasten auch in den anderen Dateien gelten, aber wer weiß, vllt reicht es ja wie es ist)

Jeder dieser F-Tasten ist ein Makro zugewiesen mit genau einer Befehlszeile.

Diese Befehlszeile ruft ein Unter-Makro auf - mit Übergabe von sich selbst als Parameter.
So ist es ausreichend, dass du ein "Hauptmakro" schreibst, bzw nutzt, in dem dann immer in Abhängigkeit der gedrückten F-Taste nur das dazugehörige Teil-Makro ausgeführt wird.
Und es ist natürlich problemlos möglich, alles wahlfrei zu erweitern.

So, nun hoffe ich, wir sind wieder "Forums-Freunde" :-)
Konnte ich helfen?

Ciao
Thorsten
Anzeige
AW: VBA: bekomme Funktiontasten nicht dazu z.b. einen Kommentar
10.10.2023 22:14:47
GerdL
Hallo Georg,
zum Aufbauen.
'Modul der Tabelle

Private Sub Worksheet_Activate()
'´z.B. Funktionstaste umleiten auf Makro "Test"
Application.OnKey "{F12}", "Test"
End Sub
'Modul der Tabelle
Private Sub Worksheet_Deactivate()
'Funktionstaste rücksetzen
Application.OnKey "{F12}"
End Sub


'allgemeines Modul
Public Sub Test()
Dim strKommentar As String

With ActiveCell
.ClearComments
strKommentar = InputBox("tralala", "Kommentar", "tralala")
If strKommentar > "" Then
.AddComment Text:=strKommentar
.Comment.Visible = False
End If
End With
End Sub


Gruß Gerd
Anzeige
AW: VBA: bekomme Funktiontasten nicht dazu z.b. einen Kommentar
11.10.2023 11:16:43
Georgi
Klasse Gerd,
das sollte passen, Inputbox und add.comment wie auch clearcomments sind die Befehle die mir fehlten.

Vielen Dank!

@Thorsten
alles gut, ich bin nicht so empfindlich :-)
Deine Datei habe ich runtergeladen, kann sie mir aber erst heute abend ansehen.

Dir auch vielen Dank :-)

Viele Grüße
Georg

AW: VBA: bekomme Funktiontasten nicht dazu z.b. einen Kommentar
12.10.2023 19:52:31
Oberschlumpf
Hi,

hast du dir denn meine Datei angesehen, und tut sie das, was du willst...und das auch gleich mit Belegung von 2 F-Tasten?

Ciao
Thorsten
AW: VBA: bekomme Funktiontasten nicht dazu z.b. einen Kommentar
09.10.2023 17:26:09
Georgi
Hallo Daniel,
danke für Deine Antwort, doch ich glaube, das scheint nicht das passende für mich zu sein.
Es sind nicht so viele Funktionen:
Kommentar erstellen, bearbeiten und löschen (das wären 3 Funktionstasten)
Farbpalette für Farbauswahl der aktuellen Zelle (1 Funktionstaste).

Dann sind es viele Benutzer, die die Tabelle nutzen (daher musste ich diverse Sachen sperren, da immer mal wieder die Tabelle kaputtgespielt wurde) und denen ich keine Userform zur Verfügung stellen kann, die sie irgendwo hinschieben können (ich weiss auch nicht wie man sowas anlegt, hätte mich aber schlau gelesen ;-) ).

Das Einfachste scheinen für mich die Funktionstasten zu sein, da die über F1 (Hilfsmenü) von mir aufgelistet werden können.
Da kann dann jeder Benutzer ohne viel Hintergrundwissen, die nötigen Funktionen schnell aufrufen.

Bitte nicht böse sein, vielleicht hast Du oder jemand anderes noch einen anderen Lösungsvorschlag?

Viele Grüße
Georg
Anzeige
AW: VBA: bekomme Funktiontasten nicht dazu z.b. einen Kommentar
09.10.2023 17:32:53
daniel
HI
den Funktionstasten kannst du meines Wissens nach keine Funktionen zuweisen.
du kannst aber eine beliebige Buchstaben- oder Zahlentase in Verbindung mit STRG verwenden, um ein Makro aus einem allgemeinen Modul zu starten.
also STRG+f für Farbe und STRG+k für Kommentar einfügen sollte eigentlich leicht zu merken sein.
Gruß Daniel
AW: VBA: bekomme Funktiontasten nicht dazu z.b. einen Kommentar
09.10.2023 21:10:00
Georgi
Hallo nochmal,
ich habe inzwischen versucht das Problem mit dem Makrorekorder zu lösen, dabei hat er mir ein personalisiertes Makro angelegt, (das wird wohl dies Userform sein?), dass gefällt mir alles nicht wirklich...

Andere Versuche mit SendKeys hatten ein einziges Mal geklappt, aber ich kann einfach nicht nachvollziehen warum und seit dem einen Mal bekomme ich es nicht wieder hin.
ABER, es muss folglich möglich sein, mit onkey eine Funktionstaste zu belegen, die dann SendKeys per Makro ausführt.

Inzwischen musste ich aber auch leider feststellen, dass die Tastenfolge sich verändert, um über alt p ein Kommentar anzulegen.
Mal war es der Folgebuchstabe n andere Male waren es k1.

Diese Variante mit Sendkeys ist also unzuverlässig, weil man (bzw. ich) nicht nachvollziehen kann, warum sich die Tastenfolge verändert.

Inzwischen raucht mir der Kopf....

Ich hoffe noch auf eine andere Lösung, bitte helft mir.


Viele Grüße
Georg
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige