Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
980to984
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
980to984
980to984
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Kalender einblenden

Kalender einblenden
03.06.2008 08:51:00
Thomas
Hallo zusammen,
vorab... ich hatte eine Vorlage erstellt, mit im Hintergrund ablaufende Makros. Unter anderem ein Sub, das mit bei doppelklick auf bestimme Zellen den VBA-Kalender öffnet.
Nun gab es ein paar Änderungen an der Vorlage, die Zellenpositionen sind aber alle gleich geblieben. Und komischer Weise lässt sich nun der Kalender nicht mehr öffnen.
Wie gesagt, Zellenpositionen und auch Zelleneigenschaften wie auch Marko Code ist gleichgeblieben.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Application.EnableEvents = False
On Error GoTo ERRORHANDLER
'##
'Kalender
'##
If ActiveCell.Column = 17 And ActiveCell.Row = 22 Or ActiveCell.Column = 17 And ActiveCell.Row = 52 _
Or ActiveCell.Column = 17 And ActiveCell.Row = 82 Or ActiveCell.Column = 17 And ActiveCell.Row = 112 _
Or ActiveCell.Column = 17 And ActiveCell.Row = 142 Or ActiveCell.Column = 17 And ActiveCell.Row = 172 _
Or ActiveCell.Column = 17 And ActiveCell.Row = 202 Or ActiveCell.Column = 17 And ActiveCell.Row = 232 _
Or ActiveCell.Column = 17 And ActiveCell.Row = 262 Or ActiveCell.Column = 17 And ActiveCell.Row = 292 _
Or ActiveCell.Column = 17 And ActiveCell.Row = 322 Or ActiveCell.Column = 17 And ActiveCell.Row = 352 _
Or ActiveCell.Column = 17 And ActiveCell.Row = 382 Or ActiveCell.Column = 17 And ActiveCell.Row = 412 _
Or ActiveCell.Column = 17 And ActiveCell.Row = 442 Or ActiveCell.Column = 17 And ActiveCell.Row = 472 _
Or ActiveCell.Column = 17 And ActiveCell.Row = 502 Or ActiveCell.Column = 17 And ActiveCell.Row = 532 _
Or ActiveCell.Column = 17 And ActiveCell.Row = 562 Or ActiveCell.Column = 17 And ActiveCell.Row = 592 _
Or ActiveCell.Column = 17 And ActiveCell.Row = 622 Or ActiveCell.Column = 17 And ActiveCell.Row = 652 _
Or ActiveCell.Column = 17 And ActiveCell.Row = 682 Or ActiveCell.Column = 17 And ActiveCell.Row = 712 _
Or ActiveCell.Column = 17 And ActiveCell.Row = 742 Or ActiveCell.Column = 17 And ActiveCell.Row = 772 _
Or ActiveCell.Column = 17 And ActiveCell.Row = 802 Or ActiveCell.Column = 17 And ActiveCell.Row = 832 _
Or ActiveCell.Column = 17 And ActiveCell.Row = 862 Or ActiveCell.Column = 17 And ActiveCell.Row = 892 _
Then Kalender.Show
....
Wisst ihr worand das liegt, ich komm einfach nicht drauf :-(
Grüße
Thomas

20
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kalender einblenden
03.06.2008 09:04:00
Ramses
Hallo
"....Wisst ihr woran das liegt..."
Keine Ahnung. Geh doch mal im Einzelschrittmodus durch, ob irgend ein Fehler auftaucht.
Das ganze kannst du aber etwas vereinfachen :-)
Deine ganze Abfrage
"..If ActiveCell.Column = 17 And ActiveCell.Row = 2..."
kannst du damit ersetzen
If Target.Column = 17 Then
If (Target.Row - 22) Mod 30 = 0 Then
MsgBox "Richtige Zelle"
'kalender
End If
End If
Gruss Rainer

warum MOD 30 ...
03.06.2008 09:15:31
neopa
Hallo Rainer,
... müsste man nicht mit MOD 60 prüfen? Sorry, sind meine ersten eigenen "VBA-Lesungen" und da hätte ich gern Klarheit, wenn ich mich täuschen sollte.
Gruß Werner
.. , - ...

Anzeige
Weil...
03.06.2008 09:18:43
Ramses
Hallo
... die Schrittweite der Prüfung nun mal alle 30 Zeilen ist :-)
"... ActiveCell.Row = 22 Or ActiveCell.Column = 17 And ActiveCell.Row = 52.."
Ob das bei einem Kalender Sinn macht (Monate mit 31 Tagen) kann ich nicht sagen, da ich den Aufbau des Kalenders nicht kenne.
Ich kann nur den Code beurteilen
Gruss Rainer

so sehe ich jetzt auch, Danke Dir (kwT)
03.06.2008 09:24:00
neopa
Gruß Werner
.. , - ..

AW: Kalender einblenden
03.06.2008 09:32:00
Thomas
stimmt, dein Abfrage ist deutlich kürzer ! Dafür schonmal danke.
Die richtig doppelgeklickte Zelle ist es auch, die Messagebox "Richtige Zelle" erscheint. Allerdings nicht mein Kalender. Ich versteh es einfach nicht.

Anzeige
AW: Kalender einblenden
03.06.2008 10:00:47
Ramses
Hallo
"...Allerdings nicht mein Kalender..."
Weshalb auch. Siehst du in meinem Beispiel irgendeine Zeile die deinen Kalender aufruft ?
Gruss Rainer

AW: Kalender einblenden
03.06.2008 09:25:16
UweD
Hallo
hast du evtl. mal beim Makroablauf einen Abbruch gehabt, sodaß die Event noch auf FALSE stehen?
dann laß das mal laufen und probier nochmal.
Sub ein()
Application.EnableEvents = True
End Sub


dein ganzer If... Code kann reduziert werden auf...


Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Application.EnableEvents = False
On Error GoTo ERRORHANDLER
With Target
If .Column = 17 Then
If .Row >= 22 And .Row  0 Then MsgBox "Fehler: " & Err.Number & vbLf & Err.Description: Err.Clear
Application.EnableEvents = True
End Sub


Gruß UweD

Anzeige
AW: Kalender einblenden
03.06.2008 09:38:19
Thomas
vielleicht sollt ich das noch dazu sagen, das
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
steht nicht in einem Modul sondern in einem Tabellenblatt (Tabelle1).
Somit ist ein Schrittablauf nicht möglich.

AW: Kalender einblenden
03.06.2008 09:42:42
Thomas
noch eine Ergänzung:
Im Formular "Kalender" steht folgender Code:

Private Sub Calendar1_Click()
Selection.NumberFormat = "dd/mm/yyyy"
ActiveCell.Value = Calendar1.Value
Unload Me
End Sub



Private Sub UserForm_Initialize()
Calendar1.Value = Date
End Sub


Anzeige
AW: Kalender einblenden
03.06.2008 09:43:00
Hajo_Zi
Hallo Thomas,
wo steht das? Also bei mir geht das. Einen Haltepunkt setzen und Aktion auslösen.

AW: Kalender einblenden
03.06.2008 09:47:27
Thomas
stimmt, hast recht !
er kommt dann zu der Stelle "Kalender.Show"
Springt dann in das Formular "Kalender"

Private Sub UserForm_Initialize()
Calendar1.Value = Date
End Sub


von "Calendar1.Value = Date"
zum eigentlichen ERRORHANDLER
"ERRORHANDLER:
Application.EnableEvents = True
End Sub

"
und beendet ohne eine Aktion.

Anzeige
AW: Kalender einblenden
03.06.2008 10:46:00
Thomas
sorry Jungs, aber funktioniert immer noch nicht.
Ich hab die Makros aus dem Link mal in der Mappe laufen lassen - keine Veränderung.
Bei der Sicherung der alten Datei, ohne diese neuen Änderungen, funktioniert der Kalender auch noch einwandfrei. Dort sind auch die gleichen Verweise gesetzt wie in der neuen Datei.

Anzeige
AW: Kalender einblenden
03.06.2008 10:49:57
Ramses
Hallo
"...aber funktioniert immer noch nicht...."
Hast du den Hinweis von Hajo beachtet !!!! und geprüft ?
Wenn nicht, dann erst mal testen.
Wenn immer noch nicht, dann die Mappe hochladen.
In diesem Fall allerdings so wie sie ist. Personendaten kannst du eventuell löschen.
Aber sonst keine Veränderungen vornehmen
Gruss Rainer

AW: Kalender einblenden
03.06.2008 11:11:00
Thomas
wie geschrieben habe ich die Makros aus dem Link in die Mappe kopiert und laufen lassen. Brachte keine Veränderung.
Was Hajo mit "Date,links..." meinte, versteh ich nicht.

SD: Beispielmappe hochladen o.w.T.
03.06.2008 11:17:53
Ramses
...

AW: SD: Beispielmappe hochladen o.w.T.
03.06.2008 12:24:00
Thomas
okay, musst eben nur die vertraulichen Daten rauslöschen.
https://www.herber.de/bbs/user/52788.xls
Zelle Q22 ist so ein doubleKlick Kandidat.

Anzeige
AW: SD: Beispielmappe hochladen o.w.T.
Ramses
Hallo
Wie schon befürchtet oder gesagt:
Fehlerhandler abgeschaltet und schon kommt die Meldung "Object Required"
Ich weiss nicht WAS du da auf der Userform eingebaut hast, aber es ist auf jeden Fall nicht da oder kann nicht gefunden werden. Durch das lasche Fehlerhandling wird einfach weitergemacht, aber der Anwender nicht mehr informiert.
Lösche das Kalenderform. Speichere die Mappe. Schliesse sie und öffne sie erneut.
Anschliessend erstellst du ein neues Kalenderform und es tut wie gewünscht.
By the way:
Die von dir so hübsch gewählte verbundenen Zellen mag ja für dich ganz lustig sein.
Für jede weitere VBA-Frage informiere die Antworter bereits im voraus dass deine Tabelle so formatiert ist.
Gruss Rainer

Anzeige
AW: SD: Beispielmappe hochladen o.w.T.
03.06.2008 16:49:21
Thomas
ne, selbst das funktionierte nicht. Keine Ahnung wie du da vorgehst. Probier da schon den ganzen Tag mit rum und so ein null-checker bin ich jetzt auch nicht gerade :-)
Ich behalf mir nun hierüber:
https://www.herber.de/forum/archiv/928to932/t930852.htm
trotzdem Dankeschön Euch !
Gruß
Thomas

AW: Kalender einblenden
03.06.2008 09:45:34
Uwe
Hi Thomas,
setze am Anfang des Makros einen Haltepunkt und mache dann den Doppelklick. Dann stopt das Makro am Haltepunkt und Du kannst schrittweise weitertesten!
Gruß
Uwe
(:o)

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige