Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
852to856
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
852to856
852to856
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Rechte Maustaste

Rechte Maustaste
16.03.2007 23:37:14
Paule
Hallo Leute
hab da wieder ein Problem. Wenn ich diese Tabelle mit der Rechten Maustaste benutze und mache eine andere auf dann wird die R M nicht wieder umgestellt sondern bleibt so wie in der ersten. Kann mir da einer helfen das dies klappt?
Gruß Paule
https://www.herber.de/bbs/user/41138.xls

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Rechte Maustaste
17.03.2007 00:01:35
Josef
Hallo Paule,
du hast Glück, das meine Glaskugel heute funktioniert. Beschreibe bitte das nächste mal dein Problem etwas präziser.
Nimm diesen Code.
' **********************************************************************
' Modul: DieseArbeitsmappe Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit


Private Sub Workbook_Activate()
If ActiveSheet Is Tabelle1 Then
    kontext
End If
End Sub

Private Sub Workbook_Deactivate()
Application.CommandBars("Cell").Reset
End Sub

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If Sh Is Tabelle1 Then
    kontext
End If
End Sub

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
If Sh Is Tabelle1 Then Application.CommandBars("Cell").Reset
End Sub

' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub eintrag(ByVal str As String)
If Not Intersect(ActiveCell, Range("A1:A10,B1:B5")) Is Nothing Then
    ActiveCell = UCase(str)
End If
End Sub

Sub kontext()
Dim oBtn As CommandBarButton

With Application.CommandBars("Cell")
    On Error Resume Next
    While .Controls.Count > 0
        .Controls(1).Delete
    Wend
End With

Set oBtn = Application.CommandBars("Cell").Controls.Add
With oBtn
    .Caption = "U = Urlaub"
    .OnAction = "'eintrag ""u""'"
End With
Set oBtn = Application.CommandBars("Cell").Controls.Add
With oBtn
    .Caption = "K = Krank"
    .OnAction = "'eintrag ""k""'"
End With
Set oBtn = Application.CommandBars("Cell").Controls.Add
With oBtn
    .Caption = "F = Freizeit"
    .OnAction = "'eintrag ""f""'"
End With
End Sub

Gruß Sepp
Anzeige
AW: Rechte Maustaste
17.03.2007 00:20:00
Josef
Hallo nochmal,
vielleicht nimmst du auch diesen Code.
' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Sub eintrag(ByVal str As String)
Dim rng As Range
For Each rng In Selection
    If Not Intersect(rng, Range("A1:A10,B1:B5")) Is Nothing Then
        rng = UCase(str)
    End If
Next
End Sub

Sub kontext()
Dim oBtn As CommandBarButton

With Application.CommandBars("Cell")
    On Error Resume Next
    While .Controls.Count > 0
        .Controls(1).Delete
    Wend
End With

Set oBtn = Application.CommandBars("Cell").Controls.Add
With oBtn
    .Caption = "Urlaub"
    .OnAction = "'eintrag ""u""'"
    .FaceId = 100
End With
Set oBtn = Application.CommandBars("Cell").Controls.Add
With oBtn
    .Caption = "Krank"
    .OnAction = "'eintrag ""k""'"
    .FaceId = 90
End With
Set oBtn = Application.CommandBars("Cell").Controls.Add
With oBtn
    .Caption = "Freizeit"
    .OnAction = "'eintrag ""f""'"
    .FaceId = 85
End With
End Sub

Gruß Sepp
Anzeige
AW: Rechte Maustaste
18.03.2007 22:20:00
Paule
Hallo Sepp
danke für deine hilfe aber es fehlt noch was. Jetzt kann ich die Daten nur in Tabelle1 eintragen. Wenn ich aber noch in Tabelle3 die Daten eintargen will wie muß ich das ändern? Ich hoffe ihr könnt mir noch einmal helfen. Bitte !!!
Gruß Paule
AW: Rechte Maustaste
18.03.2007 22:29:00
Josef
Hallo Paule,
ändere den Code in "DieseArbeitsmappe".
' **********************************************************************
' Modul: DieseArbeitsmappe Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Workbook_Activate()
If ActiveSheet.Name = "Tabelle1" Or ActiveSheet.Name = "Tabelle2" Then kontext
End Sub

Private Sub Workbook_Deactivate()
Application.CommandBars("Cell").Reset
End Sub

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If Sh.Name = "Tabelle1" Or Sh.Name = "Tabelle2" Then kontext
End Sub

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
If Sh.Name = "Tabelle1" Or Sh.Name = "Tabelle2" Then Application.CommandBars("Cell").Reset
End Sub

Gruß Sepp
Anzeige
AW: Rechte Maustaste
18.03.2007 22:57:26
Paule
Hallo Sepp
danke danke danke genau so wollte ich es haben supi
Gruß Paule :-)))))))))
AW: Rechte Maustaste
18.03.2007 23:14:55
Paule
Hallo Sep
hab doch noch eine Frage? Ist es möglich das ich in Tabelle1 rechte Maustaste die Buchstaben und in Tabelle2 rechte Maustaste die Zahlen eingeben kann? Ist das vieleicht machbar? Bitte wieder um hilfe aber das letzte mal.
Gruß Paule
welche Zahlen? o.T.
18.03.2007 23:26:07
Josef
Gruß Sepp
AW: welche Zahlen? o.T.
18.03.2007 23:32:00
Paule
In Tabelle1 habe ich ja U, K, F und jetzt in Tabelle2 sollen halt Zahlen zb. 2, 3, 4. Ist das machbar?
Gruß Paule
AW: welche Zahlen? o.T.
18.03.2007 23:54:00
Josef
Hallo Paule,
alles geht.
' **********************************************************************
' Modul: DieseArbeitsmappe Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Workbook_Activate()
If ActiveSheet.Name = "Tabelle1" Then
    kontext "Urlaub,Krank,Freizeit", "u,k,f", "100,90,85"
ElseIf ActiveSheet.Name = "Tabelle2" Then
    kontext "Urlaub,Krank,Freizeit", "2,3,4", "72,73,74"
End If
End Sub

Private Sub Workbook_Deactivate()
Application.CommandBars("Cell").Reset
End Sub

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
If ActiveSheet.Name = "Tabelle1" Then
    'Parameter: "Menüenintrag1,Menüeintrag2,...", "Zelleintrag1,Zelleintrag2,...", "Menüicon1,Menüicon2,..."
    kontext "Urlaub,Krank,Freizeit", "u,k,f", "100,90,85"
ElseIf ActiveSheet.Name = "Tabelle2" Then
    kontext "Urlaub,Krank,Freizeit", "2,3,4", "72,73,74"
End If
End Sub

Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
If Sh.Name = "Tabelle1" Or Sh.Name = "Tabelle2" Then Application.CommandBars("Cell").Reset
End Sub

' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Sub eintrag(ByVal str As String)
Dim rng As Range
For Each rng In Selection
    If Not Intersect(rng, Range("A1:A10,B1:B5")) Is Nothing Then
        rng = UCase(str)
    End If
Next
End Sub

Sub kontext(MenuEntries As String, Values As String, Faces As String)
Dim oBtn As CommandBarButton
Dim vEntries As Variant, vValues As Variant, vFaces As Variant
Dim intIndex As Integer

With Application.CommandBars("Cell")
    On Error Resume Next
    While .Controls.Count > 0
        .Controls(1).Delete
    Wend
End With

vEntries = Split(MenuEntries, ",")
vValues = Split(Values, ",")
vFaces = Split(Faces, ",")

For intIndex = 0 To UBound(vEntries)
    Set oBtn = Application.CommandBars("Cell").Controls.Add
    With oBtn
        .Caption = vEntries(intIndex)
        .OnAction = "'eintrag """ & vValues(intIndex) & """'"
        .FaceId = Clng(vFaces(intIndex))
    End With
Next

Set oBtn = Nothing
End Sub

Gruß Sepp
Anzeige
AW: welche Zahlen? o.T.
19.03.2007 00:11:27
Paule
Hi Sep
kann man der Tabelle2 auch seperate Bereiche zuteilen. So habe ich ja für die ganze Mappe die gleichen Bereiche. Kann man das noch ändern?
Gruß Paule
AW: welche Zahlen? o.T.
19.03.2007 16:44:00
Josef
Hallo Paule,
ändere diesen Code.
Sub eintrag(ByVal str As String)
Dim rng As Range, strRange As String
Select Case ActiveSheet.Name
    Case "Tabelle1"
        strRange = "A1:A10,B1:B5" 'Bereich für Tabelle1
    Case "Tabelle2"
        strRange = "A5:C25" 'Bereich für Tabelle2
End Select
For Each rng In Selection
    If Not Intersect(rng, Range(strRange)) Is Nothing Then
        rng = UCase(str)
    End If
Next
End Sub

Gruß Sepp
Anzeige
AW: welche Zahlen? o.T.
19.03.2007 23:02:00
Pit
Danke Sep für deine Hilfe du hast mir sehr geholfen. Ich hoffe das ich jetzt alles habe. Danke nochmal.
Gruß Paule :-)))))
AW: welche Zahlen? o.T.
20.03.2007 00:18:45
Paule
Hallo Sepp
habe da doch noch was. Habe noch eine Liste mit der Gültigkeitsprüfung drin und seid dem Code klappen diese nicht mehr. Muß was unter Optionen oder im Code was ändern? Bitte noch einmal um hilfe.
Gruß Paule

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige