Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1424to1428
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

Label in Tabellenblatt prüfen

Label in Tabellenblatt prüfen
13.05.2015 10:28:40
Lisa
Hallo zusammen, ich habe mal eine Frage zu meiner Überprüfung einiger Label im Tabellenblatt.
Mein Ziel ist es zu prüfen ob eines der drei Label angehakt ist, dann wäre alles ok und wenn keines angehakt ist, eine Fehlermeldung kommt.
Derzeit prüfe ich 3 Label indem ich sie einzeln aufführe.
dazu nutze ich diesen Code:
Private Sub Label8_Click()
If Label1.Caption = Chr(163) And Label2.Caption = Chr(163) And Label3.Caption = Chr(163) Then
MsgBox "Die rot markierten Felder sind Pflichtfelder," & vbCrLf & "diese bitte zuerst ausfüllen" _
, vbOKOnly, "Fehlermeldung"
With Sheets(11)
.Unprotect
.Range("D7, D9, D11, D13").Interior.ColorIndex = 3
For i = 1 To 3
Set obj = Sheets(11).Shapes("Label" & i)
obj.DrawingObject.Object.BackColor = 12648447
Next i
.Protect
End With
Exit Sub
End If
End Sub
Das funktioniert einwandfrei.
Würde ich es aber in der Schleife machen, frage ich ab, ob alle drei Label Blank sind oder nicht.
Beispiel hierzu:
Private Sub Label8_Click()
For i = 1 To 3
Set obj = Sheets(11).Shapes("Label" & i)
If obj.DrawingObject.Object.Caption = Chr(163) Then
obj.DrawingObject.Object.BackColor = 12648447
MsgBox "Die rot markierten Felder sind Pflichtfelder," & vbCrLf & "diese bitte zuerst ausfü _
llen", vbOKOnly, "Fehlermeldung"
With Sheets(11)
.Unprotect
.Range("D7, D9, D11, D13").Interior.ColorIndex = 3
.Protect
End With
Exit Sub
End If
Next i
End Sub
Hier würde geprüft ob alle Label angehakt sind, das ist falsch.
Kurzum ich würde es gern in einer Schleife haben, da ich einige Abfragen über bis zu 15 Label habe und diese nicht einzeln aufführen möchte.
Hat jemand eine Idee?
Liebe Grüße Lisa

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Label in Tabellenblatt prüfen
13.05.2015 11:01:09
Kenny
Hi Lisa,
bin mir nicht sicher, ob ich es richtig verstanden habe, aber probiere es mal damit:
(Für anzahl die Zahl der Labels einfügen)

Dim label(anzahl) As Integer
For zahl = 1 To anzahl
If label(zahl).Caption  Chr(163) Then
Exit For
End If
Next
If zahl = anzahl Then
MsgBox "Bitte ein Label auswählen!"
End If

AW: Label in Tabellenblatt prüfen
13.05.2015 11:36:38
Lisa
Hallo Kenny, vielen Dank für deine schnelle Antwort.
Ich habe als die "anzahl" mit der Zahl der Label ersetzt, in diesem Fall mit 3, bekomme aber einen Kompilierungsfehler (ungültiger Bezeichner).
Habe ich evtl. etwas falsch verstanden und die Änderung falsch vorgenommen?
Es wäre nett wenn du dich noch einmal melden würdest.
Dim Label(3) As Integer
For zahl = 1 To 3
If Label(zahl).Caption Chr(163) Then
Exit For
End If
Next
If zahl = 3 Then
MsgBox "Bitte ein Label auswählen!"
End If
Liebe Grüße Lisa

Anzeige
AW: Label in Tabellenblatt prüfen! noch offen!
13.05.2015 14:07:56
Lisa
Hallo Kenny, vielen Dank für deine Hilfe.
Der Link will irgendwie nicht.
Ich stelle die Frage wieder also offen rein, evtl hat ja noch jemand eine Idee.
Liebe Grüße Lisa

AW: Label in Tabellenblatt prüfen
13.05.2015 14:55:21
Rudi
hallo,
das sollte doch nach diesem Schema klappen:
Sub aaa()
Dim i As Integer, bolOK As Boolean
For i = 1 To 3
Set obj = Sheets(11).Shapes("Label" & i)
bolOK = bolOK Or obj.DrawingObject.Object.Caption  Chr(163)
Next
If Not bolOK Then MsgBox "Fehler"
End Sub

Gruß
Rudi
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige