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

Makro start bei Enter

Makro start bei Enter
25.05.2003 11:39:17
Rolf St.
Hallo Excel Experten!
Ich gebe in J12 eine Zahl ein. Wenn ich nun Enter drücke
soll ein Makro ablaufen, aber nur wenn in J17 ein X steht.

Das Makro befindet sich in einem Modul.

Geht das?

Vielen Dank für eure Hilfe!

Tschüß
Rolf


11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Makro start bei Enter
25.05.2003 11:53:57
axel.meyer

hi rolf,

diesen code mußt du in den codebereich der tabelle pasten, in dem sich die cell j17 befindet (sprich im Entwicklungsbereich im Projekt-Explorer-Fenster Doppelklick auf das entsprechende Tabellenblatt).

gruß, axel

Re: Makro start bei Enter
25.05.2003 11:54:37
Ramses

Hallo Rolf

Private Sub Worksheet_Change(Target As Excel.Range)
If Target.Address = "$J$12" Then
Call DeinMakro_Name
End If
End Sub

Der Code muss in das Klassenmodul der Tabelle wo er funktionieren soll.

Gruss Rainer

Sorry:
25.05.2003 11:59:11
Ramses

Hallo,

"And UCASE(Target.Value) = "X" Then

habe ich vergessen:-)

Gruss Rainer


Anzeige
Re: Makro start bei Enter
25.05.2003 12:04:09
andre

hallo,
und noch eine variante. wenn es auf mehreren blättern laufen soll, dann un DieseArbeitsmappe:

Private Sub Workbook_SheetChange(ByVal Sh As ObjectByVal Target As Range)
  If Target.Address <> "$J$12" Then Exit Sub
  If ucase(Sh.[j17]) = "X" Then MsgBox "juhu" 'oder deinmakro...
End Sub
 
     Code eingefügt mit Syntaxhighlighter 1.16


gruss andre

Anzeige
Re: Sorry:
25.05.2003 14:02:43
Rolf St.

Hallo Rainer!
Vielen Dank für deine Hilfe!
Leider funktionieren Beide Möglichkeiten nicht?

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Address <> "$J$14" Then Exit Sub
If UCase(Sh.[j17]) = "X" Then
urkunde12042003
End If
End Sub

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
If Target.Address = "$J$14" And UCase((Sh.[j17])) = "X" Then
Call urkunde12042003
End If
End Sub

Was du woran es liegt ?

Tschüß
Rolf

Re: Sorry:
25.05.2003 14:20:22
Ramses

Hallo Rolf,

Verwende die Form die ich dir geschrieben habe, dann funktioniert es auch ;-).
Mischen ist in dem Fall nicht angesagt,... ausser es wird richtig gemischt :-)

Gruss Rainer




Anzeige
Re: Sorry:
25.05.2003 14:40:36
Rolf St.

Hallo Rainer!
Es kommt die Fehlermeldung:
Laufzeitfehler 13 Typen unverträglich in folgender Zeile
If Target.Address = "$J$14" And UCase(Target.Value) = "X" Then

Das makro soll nur ablaufen, wenn in J17 ein X steht.
(In J14 werden Zahlen eingeben und in J17 das X eingetragen)

Tschüß
Rolf

Re: Sorry:
25.05.2003 15:11:29
Ramses

Hallo Rolf,

... das ist nicht nachvollziehbar.
Der Code "Private Sub WorkSheet_Change" muss in die Tabelle kopiert werden wo er funktionieren soll.
Der Code "Private Sub Workbook_SheetChange" muss unter "Diese Arbeitsmappe" kopiert werden.

Der Code darf NICHT in ein Modul koopiert werden, auch Teile davon nicht !!!!
Die reservierten Variablen existeren dort nicht.

Der Code ist getestet und funktioniert bei mir so wie oben beschrieben.

Die 14 musst du dann halt in 17 ändern.

Gruss Rainer


Anzeige
Re: Sorry:
25.05.2003 15:48:53
Rolf St.

Hallo Rainer!
In Zelle J14 werden Startnummern eingegeben und nicht das X.

Um nicht ständig umständlich einen Button zu betätigen, damit die Urkunde ausdruckt wird, habe ich gedacht, ich schaffe eine zusätzliche Möglichkeit und zwar:
Wenn in Zelle J17 ein X (Buchstabe X ) soll das neue Makro ablaufen

Beispiel:
Wenn ein X in Zelle 17 steht, soll wenn in Zelle J14 eine Zahl eingegeben wird gleich nach betätigen von Enter die Urkunde ausgedruckt werden.

Das steht zur Zeit in Tabellenblatt Urkunde.

Private Sub Worksheet_Activate()
If MsgBox("Bitte immer daran denken, die Ergebnistabellen, vor dem Druck der Urkunden zu aktualisieren!!", vbYes + _
vbQuestion, "Erinnerung!!") = 6 Then
MsgBox "OK!"
'Else
' MsgBox "Nein"
End If
End Sub

Option Explicit
Private Sub WorkSheet_Change(ByVal Target As Range)
If Target.Address = "$J$14" And UCase(Target.Value) = "X" Then
Call urkunde12042003
End If
End Sub


Vieleicht verstehst du mich jetzt?

Tschüß
Rolf



Anzeige
Re: Sorry:
25.05.2003 16:30:50
Ramses

Hallo Rolf,

Gruss Rainer

Re: Sorry:
25.05.2003 23:32:57
Rolf St.

Hallo Rainer!
Es funktioniert!

Danke!

Tschüß
Rolf


Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige