Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1404to1408
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 Problem der Reihenfolge

VBA Problem der Reihenfolge
07.02.2015 16:44:57
udo
Hallo liebe Excel Helfer,
ich bräuchte bitte eure Unterstützung bzw. eine Info.
Habe in einem Tab.blatt in Spalte 4(D) verschiedene Zahlen stehen ( 1 - 80 ), und
würde nun gerne ein Makro haben dass sobald ich irgendeine Zeile in Spalte
5 auswähle, dass der Wert in Spalte 4 ( gleiche Zeile ) dann um 1 erweitert oder um 1 verringert wird.
( in Spalte 5 stehen jew. Verweisformeln, die anhand des Zahlenwertes in S.4 dann entsprechend in einer Namensliste verweisen)
Meinem Wunsch-handling nach würde ich gerne bei Rechtsklick in Spalte 5 den Wert in 4 dann abwerten, und bei Linksklick in Spalte 5 den Wert in Spalte 4 aufwerten ... und somit die Namen dann in der jeweiligen Zelle in Spalte 5 sozusagen durchzappen per Rechtsklick oder Linksklick hoch / runterwärts.
Ich habe dazu auch mal folgende Anweisungen geschrieben:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 5 Then
Cells(ActiveCell.Row, 4).Value = Cells(ActiveCell.Row, 4).Value - 1
Cancel = True
End If
End Sub

'----------------------------------------------------------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 5 Then
Cells(ActiveCell.Row, 4).Value = Cells(ActiveCell.Row, 4).Value + 1
End If
End Sub
Mit dem Ergebnis, dass es an sich so funktionieren würde, jedoch ist noch ein kleiner
Schönheitsfehler drinne !
Der Linksklick über Sel.Change reagiert so nur beim Wechsel in die Zeile, klicke ich mehrmals in die gleiche Zelle mit links, passiert nichts mehr ...
Beim Rechtsklick geht es so mehrmals ...
Habe ich von der Reihenfolge her was falsch gemacht ?
gibt es eine Möglichkeit, den Linksklick genauso mehrmals in der gleichen Zelle zu verwenden, dass bei jedem Linksklick jeweils in Spalte 4 um eins erweitert wird ?
Wäre euch sehr dankbar um eure Hilfe.
Liebn Dank
Udo

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
noch eine kleine Beispieldatei dazu ...
07.02.2015 17:04:52
udo
https://www.herber.de/bbs/user/95614.xlsm
wie gesagt, per Rechtsklick kann ich dann mehrmals in einer Zelle runterzappen ( die Namen ), nur mit Linksklick gehts so leider nicht ... hatte auch versucht in der Sel.Change anweisung noch zum Schluss Spalte 6 zu aktivieren / selectieren, um anschl. wieder erneut in Spalte 5 erneut zu klicken, das funktioniert zwar dann für Linksklick, dann jedoch steigt der Rechtsklick aus ... ?

ins Blaue
07.02.2015 17:12:34
Michael
Hi Udo,
habe Deine Datei nicht getestet, möchte aber ins Blaue hinein vorschlagen, daß Du statt selectionChange beforedoubleclick verwendest, dann mußt Du zwar zweimal klicken, aber vielleicht tut es.
Schöne Grüße,
Michael

Anzeige
AW: ins Blaue ... hatte ich auch schon gedacht ...
07.02.2015 17:24:17
udo
Hallo Michael, dies dachte ich zunächst auch schon, allerdings wenn man später in der Anwendung dann
mehrere Male hintereinander doppelklicken müsste, denke ich vergeht einem da die Anwendung,
dies wollte ich unbedingt umgehen ... dann eher noch bei Wahl per Rechtsklick in Spalte 5 Hochwärts zappen und bei Rechtsklick in Spalte 6 Runterwärts zappen in 5 ...
Aber der Königsweg für mich wäre eben beides in Spalte 5 ...
Danke dir dennoch schon mal

AW: VBA Problem der Reihenfolge
07.02.2015 17:15:12
Tino
Hallo,
der Fehler liegt nur darin das SelectionChange nur beim Wechsel in eine andere Zelle ausgelöst wird.
Ich würde mir für diese Aktion eine Tastenkombination überlegen und diese verwenden.
Oder du verwendest nur BeforeRightClick u. BeforeDoubleClick.
Eine weitere Variante wäre die Maustaste mit Win-Api und einen Timer zu überwachen,
dies ist aber nur als letzte alternative zu empfehlen.
Gruß Tino

Anzeige
AW: VBA Problem der Reihenfolge
07.02.2015 17:30:06
udo
Hallo Tino, auch liebn Dank an dich,
meine Vermutung dass es keinen Schleichweg für den Linksklick hier gibt zu diesem Thema, dann werde ich wohl ganz auf den Rechtsklick ausweichen, und eben 2 Spalten nutzen zum hoch oder runterzappen in 5 ...
Danke euch beiden
LG

AW: Schleichweg
08.02.2015 11:22:47
Daniel
Doch, es gibt einen Schleichweg.
damit du den Linksklick mehrfach hintereinander anwenden kannst, musst du einfach am Ende des Makros eine andere Zelle selektieren.
Da jetzt aber das Selection-Change-Event auch läuft, wenn du einen Rechtsklick auf die Zelle mit dem Namen machst, ziehst du einfach im Rechtsklick-Event nicht 1 sondern 2 vom Zellwert ab.
die Codes sehen dann so aus:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 5 Then
Cells(Target.Row, 4).Value = Cells(Target.Row, 4).Value - 2
Cancel = True
Application.EnableEvents = False
Target.Offset(0, -1).Select
Application.EnableEvents = True
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Column = 5 Then
Cells(Target(1).Row, 4).Value = Cells(Target(1).Row, 4).Value + 1
Application.EnableEvents = False
Target.Offset(0, -1).Select
Application.EnableEvents = True
End If
End Sub
Gruß Daniel

Anzeige
AW: Schleichweg
09.02.2015 10:00:53
udo
Hallo Daniel, einen verspäteten Dank auch an Dich,
genau so etwas dachte ich mir dann letztlich auch.
Ich wollte mich eigentlich auch wohl eher versichern, ob's nicht doch eine Möglichkeit gäbe,
den Linksklick schließlich als Ereignis wie zB. den Rechtsklick über irgendeinen Umweg doch zu verwenden ...
Eigentlich schade dass Excel hierzu kein Ereignis ( quasi BeforeLeftClick ) anbietet, hätte das schon
öfters benötigt.
So muss man eben wie von Dir beschrieben mit BeforeRightClick tricksen ... dennoch schade.
Aber besten Dank nochmal, wenn auch verspätet.
LG udo

Anzeige
Bei allen Zell-Klick-Ereignissen wird immer ...
09.02.2015 19:04:42
Luc:-?
…auch, und das sogar zuerst, das SelectionChange-Ereignis ausgelöst, Udo,
natürlich nur, wenn das auch mit einem ZellWechsel verbunden ist.
Gruß, Luc :-?
Besser informiert mit …

Danke euch allen sehr für die freundliche Hilfe ..
11.02.2015 00:11:40
udo
Hallo Luc,
oK, verstehe, dann ist mir jetzt auch klar weshalb das B.RC. dann in der Reihenfolge her nicht greifte ...
Danke euch allen sehr !
LG

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige