Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.04.2024 18:57:33
17.04.2024 16:56:58
Anzeige
Archiv - Navigation
1468to1472
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
Inhaltsverzeichnis

MsgBox einfügen

MsgBox einfügen
22.01.2016 10:35:45
Meike
Hallo Zusammen,
ich habe ein Kontrollkästchen "b2" (Formularsteuerelement), dass in einer Eingabemaske aktiviert werden kann. Hierbei ist es aber wichtig, dass Kontrollkästchen xy bereits aktiviert wurde.
Der Anwender vergisst häufig, das Kontrollkästchen xy und klickt sofort auf b2.
Deshalb habe ich eine MsgBox eingebaut.
Mein Problem hierbei ist, dass diese MsgBox in meinem Code immer angezeigt wird, egal ob xy angeklickt wurde oder nicht.
Kann man das so regeln, dass die MsgBox nur dann angezeigt wird, wenn die mit xy verbundene Zelle $Q$35 auf False steht?
Danke für eure Hilfe.
Liebe Grüße
Meike
Mein Code für Kontrollkästchen b2 das mit der Zelle Q37 verbunden ist.

Sub b2()
If Worksheets("Eingabe").Range("Q37") = True Then
If MsgBox("Bitte vergewissern Sie sich, dass Sie das Kästchen xy ausgewählt haben.", _
vbQuestion + vbOKCancel, "Haken bei Kästchen xy gesetzt?") = vbCancel Then Exit Sub
Call b2_Kreisrot
Else
Call b2_Kreisgrau
End If
End Sub

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: ohne MsgBox?
22.01.2016 11:07:12
hary
Moin
Kansst du nicht wenn b2 = true nicht auch gleich xy auf True setzen?
If Worksheets("Eingabe").Range("Q37") = True Then
Worksheets("Eingabe").Range("Q35") = True
End If
oder einfacher:
With Worksheets("Eingabe")
.Range("Q35") = .Range("Q37")
End With

gruss hary

AW: ohne MsgBox?
22.01.2016 11:37:52
Meike
Hallo Hary,
danke für deine Hilfe. Das habe ich schon versucht.
Die Häkchen in beiden Kontrollkästchen waren zwar gesetzt aber ich hatte Probleme damit, dass die Makros die hinter den jeweilgien stehen, korrekt ausgeführt wurden.... Deshalb die etwas uncharmantere Lösung mit der MsgBox. :/

Anzeige
AW: dann mit MsgBox
22.01.2016 13:14:42
hary
Moin
Zum Verstaendniss:
Also wird beim setzen des Hakens bei xy auch ein Makro gestartet?
Dann ginge es evtl. mit einer Public Booleanvariablen.
Bspw. so:
Option Explicit
Public a As Boolean
Sub fuerB2()
With Worksheets("Eingabe")
If .Range("Q37") = True Then
a = True
.Range("Q35") = .Range("Q37")
Call b2_Kreisrot
Else
Call b2_Kreisgrau
End If
End With
a = False
End Sub
Sub fuerxy()
If Worksheets("Eingabe").Range("Q35") = True And a = False Then
Call xy_Kreisrot
Else
Call xy_Kreisgrau
End If
End Sub

gruss hary

Anzeige
AW: dann mit MsgBox
22.01.2016 14:09:52
Meike
Hallo Hary,
ich glaub ich muss meine Makros kurz erläutern. Über Makro xy werden 3 Tabellen eingeblendet. Siehe unten.
Über das Makro b2 wird auf Tabelle 2 eine Form rot eingefärbt.
Mein Versuch die Public Booleanvariablen einzubauen ist leider gescheitert. :/
Kannst du mir bitte sagen wo ich im unteren Code das definieren muss, ohne das ein Fehler auftritt.
LG
Sub xy()
Dim arrWks As Variant, wks As Worksheet
'Blätter gemäß Status Checkbox "Checkbox_120" ein-/ausblenden
Set arrWks = ThisWorkbook.Worksheets(Array("Tabelle(1)", "Tabelle(2)", "Tabelle(3)"))
If Application.Caller = "Checkbox_120" Then Application.ScreenUpdating = False
For Each wks In arrWks
With wks
.Unprotect "pw"
Select Case Worksheets("Eingabe").Shapes("Checkbox_120").ControlFormat.Value
Case -4146
.Visible = xlSheetHidden
Case 1
.Visible = xlSheetVisible
End Select
.Protect Password:="pw", DrawingObjects:=True, Contents:=True, _
Scenarios:=True, AllowFormattingCells:=True
End With
Next
If Application.Caller = "Checkbox_120" Then Application.ScreenUpdating = True
End Sub

Anzeige
AW: dann mit MsgBox
22.01.2016 15:47:18
Meike
habs gelöst !! :) Danke !!

warum Beitrag offen gelassen, wenn gelöst? ... owT
22.01.2016 23:36:37
Matthias

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige