Hallo,
habe in Excel ein VBA Formular mit Kalender Funktion erstellt. Wenn ich auf bestimmte Zellen klicke, öffnet sich der Kalender. Wenn ich dann auf ein Datum klicke trägt er es in das gewählte Feld.
Auf meinem PC (dummy Datei) funktioniert es auch sehr gut. Keine Probleme Fehler oder ähnliches.
Die Datei wird aber von vielen Nutzern gleichzeitig genutzt, ist nicht lokal sondern auf dem Server irgendwo abgespeichert und beinhaltet auch noch jede Menge anderer Makros.
Wenn dann jemand in das Feld geht, erscheint nicht der Kalender sondern die Fehlermeldung "Kompilierungs-fehler in verborgenen Modul: <Name meines Moduls>"
Der Rest der Datei funktioniert nach wie vor einwandfrei.
Liegt es an dem Code? Wo da, wo muss ich suchen?
Der Code der in der Arbeitsmappe hinterlegt ist:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$R$97" Then Call OpenCalendar
If Target.Address = "$R$98" Then Call OpenCalendar
If Target.Address = "$R$99" Then Call OpenCalendar
If Target.Address = "$R$100" Then Call OpenCalendar
If Target.Address = "$R$101" Then Call OpenCalendar
If Target.Address = "$R$102" Then Call OpenCalendar
If Target.Address = "$R$103" Then Call OpenCalendar
If Target.Address = "$R$104" Then Call OpenCalendar
If Target.Address = "$R$105" Then Call OpenCalendar
If Target.Address = "$R$106" Then Call OpenCalendar
If Target.Address = "$S$97" Then Call OpenCalendar
If Target.Address = "$S$98" Then Call OpenCalendar
If Target.Address = "$S$99" Then Call OpenCalendar
If Target.Address = "$S$100" Then Call OpenCalendar
If Target.Address = "$S$101" Then Call OpenCalendar
If Target.Address = "$S$102" Then Call OpenCalendar
If Target.Address = "$S$103" Then Call OpenCalendar
If Target.Address = "$S$104" Then Call OpenCalendar
If Target.Address = "$S$105" Then Call OpenCalendar
If Target.Address = "$S$106" Then Call OpenCalendar
End Sub
Der Code hinter dem Formular:
Private Sub cmdClose_Click()
Unload Me
End Sub
Private Sub MonthView1_DateClick(ByVal DateClicked As Date)
On Error Resume Next
Dim cell As Object
For Each cell In Selection.Cells
cell.Value = DateClicked
Next cell
Unload Me
End Sub
Private Sub UserForm_Initialize()
If IsDate(ActiveCell.Value) Then
Me.MonthView1.Value = ActiveCell.Value
End If
End Sub
Der Code in dem Modul:
Sub OpenCalendar()
frmCalendar.Show
End Sub
Wenn mir jemand einen Tipp oder eine Lösung geben kann wäre ich sehr dankbar.
Habe Grundkentnisse aber bin kein VBA Profi.
Vielen Dank für die Hilfe.
|