Forum des VBA-Tutorials

WORD IF ... THEN ... Call Function ... ELSE ... EndIF (VBA)

Ausgeheckt, Donnerstag, 12. Oktober 2017, 11:46 (vor 7 Tagen)

Hallo Zusammen,
Ich habe ein Wordformular aus ca. 600 Seiten erstellt in denen ich via Checkboxen definierte Textmarken zuklappen kann und somit mein Formular, je nach Auswahl gestallten lässt bzw. anpasst. Im Folgendem ein Makroausschnitt "ThisDocument"

Ich wollte mein Makro optimieren bzw. korrigieren und folgendes Problem ist aufgetaucht.

'----------------------------Inspektion und Unterkategorien-----------
'_____________________________ThisDocument
Public Sub CBInspDiaSIE_Click()
If CBInspDiaSIE.Value = True Then
Call InspDiaSIE1
CBInspDiaSIE.Caption = "Diagnose SIE"
Else
CBInspDiaSIE.Caption = "Diagnose SIE n.v"
End If
End Sub

Public Sub CBInspDiaFAN_Click()
If CBInspDiaFAN.Value = True Then
Call InspDiaFAN1
CBInspDiaFAN.Caption = "Diagnose FAN"
Else
CBInspDiaFAN.Caption = "Diagnose FAN n.v"
End If
End Sub

Public Sub CBInspDiaHEI_Click()
If CBInspDiaHEI.Value = True Then
Call InspDiaHEI1
CBInspDiaHEI.Caption = "Diagnose HEI"
Else
CBHECInspDiaHEI.Caption = "Diagnose HEI n.v"
End If
End Sub
'####################################

'Und hier ein Beispiel einer Funktion die aufgerufen wird:
'___________Modul Insp
'InspDiaFAN1###########################################################

Public Function InspDiaFAN1()
With ActiveDocument
'Text wird verborgen oder gezeigt

If .Bookmarks.Exists("InspDiaFAN") Then
If (.CBInsp.Value = True Or .CBInspGeo.Value = True) And .CBInspDiaFAN.Value = True Then
.Bookmarks("InspDiaFAN").Range.Font.Hidden = False
Else
.Bookmarks("InspDiaFAN").Range.Font.Hidden = True
End If
Else
MsgBox "Die Textmarke(n) 'InspDiaFAN' existiert nicht!"
End If
End With
End Function
'###############################

Wenn ich den CALL der Function vor dem If... Then ... setze , also in die Public Sub ###-Click() Prozedur, dann funktioniert es.
Ich denke das diese Variante aber der Performance langen Dokumentes schadet...

Woran liegt es, was sollte ich besser machen?


gesamter Thread:

 RSS-Feed dieser Diskussion

powered by my little forum