Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Hilfe bei VBA Code
#11
Hallo Lukas,

hier mal alle Codes, die in der Beispielmappe enthalten sind:



' **************************************************************
'  Modul:  DieseArbeitsmappe  Typ = Element der Mappe(Sheet, Workbook, ...)
' **************************************************************


Option Explicit

Private Sub Workbook_Activate()
 If ActiveSheet.CodeName = "Tabelle1" Then
   Application.Run "Tabelle1.Worksheet_Activate"
 End If
End Sub

Private Sub Workbook_Deactivate()
 LeertasteAus
End Sub


' **************************************************************
'  Modul:  Tabelle1  Typ = Element der Mappe(Sheet, Workbook, ...)
' **************************************************************


Option Explicit

Private Sub Worksheet_Activate()
 If ActiveCell.Address = "$C$19" Then
   LeertasteEin
 Else
   LeertasteAus
 End If
End Sub

Private Sub Worksheet_Deactivate()
 LeertasteAus
End Sub

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)    'Haken
 With Target
   If .Address = "$C$19" Then
     .Font.Name = "Wingdings"
     If .Value = Chr(168) Then .Value = Chr(254) Else .Value = Chr(168)
     Cancel = True
   End If
 End With
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 If Target.Address = "$C$19" Then
   LeertasteEin
 Else
   LeertasteAus
 End If
End Sub


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


Option Explicit

Sub LeertasteEin()
 Application.OnKey Chr(32), "MakroBeiLeertaste"
End Sub

Sub LeertasteAus()
 Application.OnKey Chr(32)
End Sub

Sub MakroBeiLeertaste()
 With ActiveCell
   .Font.Name = "Wingdings"
   If .Value = Chr(168) Then
     .Value = Chr(254)
   Else
     .Value = Chr(168)
   End If
 End With
End Sub

Code eingefügt mit: Excel Code Jeanie

Wenn die Zelle C19 im Blatt OnKeyDemo, welches den Codenamen Tabelle1 hat, aktiv ist, kann mit der Leertaste der Haken gesetzt/entfernt werden.

Gruß Uwe


Angehängte Dateien
.xlsx   OnKey-Demo.xlsx (Größe: 8,26 KB / Downloads: 1)
.xlsm   OnKey-Demo.xlsm (Größe: 17,79 KB / Downloads: 7)
Antworten Top
#12
Hallo Uwe,

vielen Dank für deine Antwort! Ich war im Urlub und konnte deswegen nicht sofort auf deine Antwort reagieren.

Dein Code funktioniert in deiner Tabelle einwandfrei, genau so habe ich mir das Vorgetellt. Dafür schonmal besten Dank!!
Nur wenn ich den Code in meine Tabelle kopiere kommt ein Fehler, siehe Bild. Weiß du woran das liegen könnte?

Freue micht über Antworten!

Schönen Abend noch,
gruß Lukas


Angehängte Dateien Thumbnail(s)
   
Antworten Top
#13
Hallo Lukas,

Zitat:Nur wenn ich den Code in meine Tabelle kopiere kommt ein Fehler, siehe Bild. Weiß du woran das liegen könnte?

ich habe nicht mitgelesen, drum mal ein Schuß in's Blaue, aber es ist ein Schuß mit sehr hoher Trefferwahrscheinlichkeit.
Gehe mal in dem/den Modul(en) gaaaanz nach oben, über das erste Makro hinaus.Es könnte sein, daß
dort eine Variable steht, die Du nicht mitkopiert hast.

Aufgrund Deiner Angaben, der Fehlermeldung usw. liegt der Hase hochwahrscheinlich dort im Pfeffer.
________________________________________________________________________
wer aufgibt, ohne es versucht zu haben, gibt einfach nur auf!

Grüße aus Norderstedt, Peter
Antworten Top
#14
Hi,

(23.10.2017, 16:40)lukas-2000 schrieb: Nur wenn ich den Code in meine Tabelle kopiere kommt ein Fehler, siehe Bild. Weiß du woran das liegen könnte?

Bei der Fehlermeldung findet das Makro die Sub "LeertasteEin" z.B. nicht.
Hast Du die Makros dort hinkopiert, wo es dabei steht?

' **************************************************************
' Modul: DieseArbeitsmappe Typ = Element der Mappe(Sheet, Workbook, ...)
' **************************************************************
Sub Workbook_Activate()
Sub Workbook_Deactivate()

' **************************************************************
' Modul: Tabelle1 Typ = Element der Mappe(Sheet, Workbook, ...)
' **************************************************************
Sub Worksheet_Activate()
Sub Worksheet_Deactivate()
Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Sub Worksheet_SelectionChange(ByVal Target As Range)

' **************************************************************
' Modul: Modul1 Typ = Allgemeines Modul
' **************************************************************
LeertasteEin()
LeertasteAus()
MakroBeiLeertaste()
Antworten Top
#15
Guten Abend,

danke für Eure Antworten!!

Tut mir leid, ich dussel habe vergessen die Module mit zu kopieren. :30: 

So funktioniert es wunderbar!! Ich hätte nurnoch eine letzte Frage, kann ich in den Code gleich einbauen, das ich mehrere Zellen ansprechen kann. Habe es mit einem Komma probiert, jedoch funktioniert es dann garnicht mehr.
Oder muss ich für jede Zelle einen eigenen Code einfügen?! Ich hoffe Ihr könnt mir weiterhelfen!

Freue mich über Antworten!

Mfg Lukas
Antworten Top
#16
Hallo Lukas,

(24.10.2017, 18:28)lukas-2000 schrieb: ... kann ich in den Code gleich einbauen, das ich mehrere Zellen ansprechen kann.

z.B. so:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 If Not Application.Intersect(Target, Range("C2:C999")) Is Nothing Then
   LeertasteEin
 Else
   LeertasteAus
 End If
End Sub
Gruß Uwe
[-] Folgende(r) 1 Nutzer sagt Danke an Kuwer für diesen Beitrag:
  • lukas-2000
Antworten Top
#17
Wink 
Hi Uwe,

vielen Dank für deine Antwort, mein vorhaben Funktioniert nun einwandfrei und somit kann ich diesen Tread als Erldeigt abschließen!!

Ich bedanke mich nochmals für die Unterstützung und wünsche allen noch einen schönen Tag!

Mfg Lukas
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste