Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1144to1148
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

Code für Rechte Maustaste

Code für Rechte Maustaste
Klaus
Hi Leute
ich hab da eine Liste wo ich eintrage wer schon alles bezahlt hat. Ist es möglich das wenn ich in die eine zelle mit der rehten Maustaste Markiere (oder mehrere Zellen) das dort zb. 5€ erscheinen und in der(den) Zellen darunter bei rechter Maustaste ein Kalender aufgeht wo ich das Datum auswählen kann. Das ganze sollte auch klappen wenn mehre Zellen Markiert sind. Bitte um Hilfe !!!
Gruß Klaus
https://www.herber.de/bbs/user/68599.xls
AW: Code für Rechte Maustaste
16.03.2010 23:16:43
hary
hallo Klaus
Hier mal fuer Eintrag 5€ ohne Kalender. Code gehoert in den Code der Tabelle. Teste mal. Aber ob rechte Maustaste das optimale ist?

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Dim Rng As Range
For Each Rng In Selection
With Rng
Rng.Value = FormatCurrency("5", -1)
End With
Next
End Sub

gruss hary
AW: Code für Rechte Maustaste
16.03.2010 23:25:03
Klaus
Hi Steffen
genau das richtige. Aber kann mann noch einen Blattschutz einbauen. Also beim rechts anklicken deaktivieren und wenn das das Datum gesetzt ist wieder aktivieren?
Gruß Klaus
Anzeige
..Ich hab drauf gewartet :-))..
16.03.2010 23:34:40
Steffen
Hallo Klaus,
ergänze den Code:
Option Explicit
Private Sub MonthView1_DateClick(ByVal DateClicked As Date)
Selection.Offset(1, 0).Value = MonthView1.Value
MonthView1.Visible = False
ActiveSheet.Protect Password:="test"
End Sub

Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
If ActiveCell.Row Mod 3 = 2 Then
ActiveSheet.Unprotect Password:="test"
Cancel = True
Target.Cells = "5"
MonthView1.Visible = True
End If
End Sub

Grüße
Steffen
AW: Code für Rechte Maustaste
16.03.2010 23:37:21
Klaus
hätte da noch was. Könnte man den Code auf eine bestimmte Zeilenlänge begrenzen? Von C - N. Ich wolltw den Code jetzt in die original Datei kopieren bekomme aber beim ausführen in der Original Datei eine Fehlermeldung. Warum? "Fehler beim Kompilieren: Variable nicht definiert"
Anzeige
AW: Endergebniss..
16.03.2010 23:48:46
Klaus
Hi
hab jetzt wieder den Code in die Original Mappe kopiert. Gleiche Fehlermeldung. Warum? Ist alles gleich. Fehlt vieleicht der Kalender?
Gruß Klaus
Vermutlich..
16.03.2010 23:56:31
Steffen
...Du hast ja nicht geschrieben wo der Fehler auftritt:
Userbild
Grüße
Steffen
AW: Vermutlich..
17.03.2010 00:03:03
Klaus
Hab es jetzt so gemacht wie in deinem Beispiel aber wenn ich die Rechte Maustaste drücke kommt wieder die gleiche Meldung.
Gruß Klaus
Anzeige
wo tritt denn der fehler auf?..
17.03.2010 00:18:30
Steffen
kopiere doch mal den code hier rein u markiere die "fehlerhafte" zeile..
AW: wo tritt denn der fehler auf?..
17.03.2010 00:20:27
Klaus
hat sich erledigt. hate vergessen den Kalender einzufügen. Klappt jetzt alles. Merci :-))
Gruß Klaus
AW: wo tritt denn der fehler auf?..
17.03.2010 00:26:40
Klaus
Hi
hab leider doch noch ne frage. Wie kann ich diesen Code umstellen das ich zuerst die Zellen Markiere und das dann die Markierten zellen gelöscht werden. Sonst klappt alles wunderbar.
Sub löschen()
ActiveSheet.Unprotect Password:="test"
Range("C2:N57").Select
Selection.ClearContents
Range("O1").Select
ActiveSheet.Protect Password:="test"
End Sub

Gruß Klaus
Anzeige
Was verstehst du unter Löschen ?
17.03.2010 09:59:22
Renee
Hi Klaus,
1. Dein Code löscht nun den INHALT des Bereichs C2:N57 ! Willst du die Zellen löschen (und verschieben)?
2. ...oder willst du den Bereich selber markieren ?
3. Die .Selects wären völlig unnötig!
Sub löschen()
With ActiveSheet
.Unprotect Password:="test"
.Range("C2:N57").ClearContents
.Protect Password:="test"
End With
End Sub
Also, formulier deine Frage verständlich!
GreetZ Renée
AW: Was verstehst du unter Löschen ?
17.03.2010 11:05:45
Klaus
Hi
ich wollte die bereiche selber Markieren und dann löschen.
Gruß Klaus
Bereich selber markieren
17.03.2010 11:25:27
Renee
Hi Klaus,
Dann sag das doch das nächste Mal, von Anfang an:
Sub löschen()
With ActiveSheet
If vbYes = MsgBox("Soll der Bereichsinhalt" & vbCrLf & _
"von " & Selection.Address & " gelöscht werden?", _
vbYesNo, "Bereichsinhalt löschen") Then
On Error GoTo 0
.Unprotect Password:="test"
Selection.ClearContents
.Protect Password:="test"
End If
End With
End Sub

GreetZ Renée
Anzeige
AW: Bereich selber markieren
17.03.2010 11:32:27
Klaus
Hi
könnte man den Bereich noch Festlegen. Das nur von Spalte C bis Spalte N gelöscht wird.
Gruß Klaus
suchen u finden
17.03.2010 11:39:28
Steffen
Hallo Klaus,
die gleiche Vorderung hattest du schon gestellt.
Schaue dir in meinem code die Methode "Intersect" an u baue sie in dem code von renee ein...
Grüße
Steffen
AW: suchen u finden
17.03.2010 11:58:06
Klaus
Hi
klappt nicht wenn ich außerhalb von dem Bereich was löschen will geht trotzdem die MsgBox auf und dann bekomme ich eine fehlermeldung. Bin net so gut in VBA fang erst an.
gruß Klaus
so:
17.03.2010 12:07:12
Steffen
Sub löschen()
If Not Intersect(Selection, Range("C:N")) Is Nothing Then
With ActiveSheet
If vbYes = MsgBox("Soll der Bereichsinhalt" & vbCrLf & _
"von " & Selection.Address & " gelöscht werden?", _
vbYesNo, "Bereichsinhalt löschen") Then
On Error GoTo 0
.Unprotect Password:="test"
Selection.ClearContents
.Protect Password:="test"
End If
End With
End If
End Sub
Gruß
Steffen
Anzeige
AW: so:
17.03.2010 12:22:02
Klaus
Ok vielen vielen dank für deine hilfe.
Gruß Klaus
mal nachgefragt (wg. Datum) ...
17.03.2010 00:24:31
Matthias
Hallo
warum schreibst Du das Datum nicht gleich automatisch mit ein, wenn Du die 5,00 € einträgst?
Ich gehe jetzt mal davon aus, das es das Datum des Bezahlens ist. Oder ?
Dafür gäbe es dann DeineZelle.Offset(zeile,spalte)
Das Ganze könnte man evtl. auch über das Kontexmenü der rechten Maustaste steuern.
Gruß Matthias

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige