Markieren per Doppel-/Rechtsklick

.. das wohl mächtigste Werkzeug in Bill Gates' Büro-Sippe. Ob reine Formeln, PowerQuery oder VBA. Hier bleiben kaum Wünsche unerfüllt.
Benutzeravatar
d'r Bastler
Beiträge: 683
Registriert: 29. Aug 2022, 13:20
Hat sich bedankt: 177 Mal
Danksagung erhalten: 91 Mal

Markieren per Doppel-/Rechtsklick

#1

Beitrag von d'r Bastler »

Um eine Zeile in einer Liste zu markieren, wird gerne mal ein "x" eingetragen, um dann eine Schleife dieses Zeichen abfragen zu lassen. Es geht auch per Doppel- oder Rechtsklick. Das Beispiel reagiert auf Events in Spalte 3= "C".

Code: Alles auswählen

gelöscht - weil der Code von Boris ist unschlagbar besser!!
Zuletzt geändert von d'r Bastler am 31. Aug 2022, 23:15, insgesamt 1-mal geändert.
d'r Bastler von den VBAsteleien.de
Win 10 + Office 2019 & Win11 + Office 2021 + Visio 2019 pro & macOS.X15 + Office2019pro & Android12 & XL365
{Boris}
Beiträge: 11
Registriert: 29. Aug 2022, 14:03
Danksagung erhalten: 8 Mal
Kontaktdaten:

Re: Markieren per Doppel-/Rechtsklick

#2

Beitrag von {Boris} »

Hi Bastler,

der *Klugscheißer* ist wieder unterwegs :lol:

Dein Code ist in mehrerer Hinsicht nicht optimal :roll:

1. Mehrfachverwendung eines Objekts - hier: Target - da bietet sich immer der With-Rahmen an
2. Der Code reagiert nicht ausschließlich auf Klicks in Spalte 3 (C), da Du die Spalte gemeinsam mit dem Value prüfst. Kannste leicht testen, indem Du mal bei einem Eintrag außerhalb Spalte C nen Doppelklick ausführst - der Inhalt wird (logischerweise) gelöscht - das kann ja nicht gewollt sein
3. Du hast die Variable Cancel zur Verfügung, nutzt sie aber nicht. Dadurch bleibt die Zelle nach Doppelklick im Editiermodus - sicherlich auch nicht gewollt
4. Um eine Zelle zu leeren, würde ich nicht einen Leerstring zuweisen, sondern die ClearContents-Methode nutzen.

Daher hier mal ein Codevorschlag (für Doubleklick - kann man natürlich analog für den Rechtsklick schreiben):

Code: Alles auswählen

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
With Target
    If .Column = 3 Then
        If .Value = "" Then
            .Value = "x"
        Else
            .ClearContents
        End If
        Cancel = True
    End If
End With
End Sub
Folgende Benutzer bedankten sich beim Autor {Boris} für den Beitrag:
d'r Bastler
VG, Boris
xl365 Beta unter Win 11
https://www.herber.de/excelformeln/
Benutzeravatar
d'r Bastler
Beiträge: 683
Registriert: 29. Aug 2022, 13:20
Hat sich bedankt: 177 Mal
Danksagung erhalten: 91 Mal

Re: Markieren per Doppel-/Rechtsklick

#3

Beitrag von d'r Bastler »

Moin Boris,

es erfüllt mich mit echter Sorge, was hier noch an Arbeit auf Dich zukommt :shock: Denn, wenn Du zu all meinen Snipperts immer deratig konstruktive, gut erläuterte Kommentare hast, gehen alle meine Illusionen bezüglich meines vermeintlichen VBA-Wissens aber sowas von ins Nirwana und ich habe noch verdammt viel mehr zu lernen, als gelegentlich blauäugig angenommen.

Ganz herzlichen Dank!!
d'r Bastler von den VBAsteleien.de
Win 10 + Office 2019 & Win11 + Office 2021 + Visio 2019 pro & macOS.X15 + Office2019pro & Android12 & XL365
{Boris}
Beiträge: 11
Registriert: 29. Aug 2022, 14:03
Danksagung erhalten: 8 Mal
Kontaktdaten:

Re: Markieren per Doppel-/Rechtsklick

#4

Beitrag von {Boris} »

Hi Bastler,

es ist natürlich nicht mein Ziel, Deine Codes letztlich "zu verbannen". Auch habe ich sicherlich nicht immer die Gelegenheit, irgendwas "Schlaues" dazu zu schreiben, zumal ich mich - unabhängig vom Zeitaufwand - selbst eher nur auf der Formelseite als - sagen wir: "sehr versiert" - einstufe.
Aber auch die Formeln / Funktionen helfen dabei, ein Verständnis für VBA zu entwickeln, weshalb ich mich eben auch damit beschäftige und versucht habe, ein Verständnis für das VBA-Objektmodell, die Eigenschaften, Methoden etc. zu entwickeln.
Mir ist aber Dein finales Ziel der Seite (mich interessiert ja eigentlich nur Excel) noch nicht so ganz klar: Möchtest Du Lösungen für diverse Teil-Probleme anbieten (sowohl Excel/Formeln als auch VBA), oder soll das am Ende eigentlich ein Forum werden / sein, oder eine Kombination aus Beidem?
VG, Boris
xl365 Beta unter Win 11
https://www.herber.de/excelformeln/
Benutzeravatar
d'r Bastler
Beiträge: 683
Registriert: 29. Aug 2022, 13:20
Hat sich bedankt: 177 Mal
Danksagung erhalten: 91 Mal

Re: Markieren per Doppel-/Rechtsklick

#5

Beitrag von d'r Bastler »

Moin Boris,

nachdem das primäre Ziel, eine Nachfolgeplattform für OLP zu bieten (vgl. http://www.vbasteleien.de/viewtopic.php?t=2), wohl gescheitert ist (der ehemalige Betreiber spielt einfach nicht mit), ist die Zukunft dieses Forums völlig offen. Für mich persönlich werde ich es als Snippet-Sammlung nutzen, Themen, die ich -weil häufig Code/Syntax-unsicher- zig-Mal gesucht habe unter sinnvollen Thementiteln ablegen. Um das nicht allein im stillen Kämmerlein zu machen, stelle ich den Code hier online. Schließlich ist die eigentlich fantastische Quelle OLP versiegt. Und vielleicht kann's jemand brauchen.

Ob das hier ein Forum im eigentlichen Sinne wird, überlasse ich den Besuchern. Wer Fragen stellen mag, ist herzlich willkommen. Kann ich sie beantworten, mache ich das gerne. Wenn sich qualifiziertere Kollegen (und derer gibt es unfassbar viele, spätestens angefangen bei Dir :) !) eines Problems annehmen, um so schöner. Was mir wirklich am Herzen liegt, ist ein respektvoller Umgang miteinander, der zum Beipiel darauf achtet Einsteiger dort abzuholen, wo sie mit ihren Kenntnissen stehen. Erste Zeilen in VBA kann man bereits erfolgreich schreiben, auch wenn man mit Objekt-orientiert noch genau nix anfangen kann. Zensur, Bashing, Pöbeleien und Beleidigungen braucht der Mensch so wenig z.B. stereotype xl-sexy bzw. HJ-Zi-Reklame.

Zur thematischen Eingrenzung: XL ist XL, WD, OL entsprechend. Ich muss zugeben, dass meine Formel-Kennnisse in XL (sehr vornehm ausgedrückt!) eher beschränkt sind. Ich beobachte aber mit großer Neugier, dass die neueren XL-Versionen zunehmend Funktionen mitbringen, die echte Alternativen zur Verarbeitung per VBA bieten. Bsp. =WENN(UND/ODER) habe ich bisher mit VBA schnell mit SELECT CASE gelöst. Muss jetzt nicht mehr immer sein. Auf der anderen Seite verstehe ich nicht, warum XL z.B. keine Binärwerte größer dezimal 511 verarbeiten kann.

Gänzlich ohne Ahnung bin ich im Bereich Diagramme und PowerQuery. Habe ich als Autodidakt bisher einfach nie benötigt.

Jeder User, der hier einem anderen Danke sagt, ist für mich persönlich ein Gewinn.
Konnte ich Deine Frage damit beantworten?

Schönen Abend noch!
Folgende Benutzer bedankten sich beim Autor d'r Bastler für den Beitrag:
Sulprobil
d'r Bastler von den VBAsteleien.de
Win 10 + Office 2019 & Win11 + Office 2021 + Visio 2019 pro & macOS.X15 + Office2019pro & Android12 & XL365
{Boris}
Beiträge: 11
Registriert: 29. Aug 2022, 14:03
Danksagung erhalten: 8 Mal
Kontaktdaten:

Re: Markieren per Doppel-/Rechtsklick

#6

Beitrag von {Boris} »

Hi Bastler,

natürlich beantwortet das meine Frage! :)
Folgende Benutzer bedankten sich beim Autor {Boris} für den Beitrag:
d'r Bastler
VG, Boris
xl365 Beta unter Win 11
https://www.herber.de/excelformeln/
Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste