Excel Code vereinfachen und ergänzen
19.09.2016 13:14:04
Lutz
ich versuche weiter VBA zu erlernen und stehe mal wieder vor einer Herausforderug in der ich meinen Code vereinfachen möchte.
Zum lernen habe ich mal in einem Formular einen DISG-Persönlichkeitstest umgesetzt.
Der funktioniert auch mit folgendem Code:
Private Sub CommandButton5_Click()
If DISGA1 = DISGA2 Or DISGA1 = DISGA3 Or DISGA1 = DISGA4 Or DISGA2 = DISGA3 Or DISGA2 = DISGA4 _
_
_
Or DISGA3 = DISGA4 Then
MsgBox "Die eingegebenen Daten in Block A sind nicht korrekt!", vbCritical, Title:="- _
Intelligence Center"
Else
If DISGB1 = DISGB2 Or DISGB1 = DISGB3 Or DISGB1 = DISGB4 Or DISGB2 = DISGB3 Or DISGB2 = DISGB4 _
_
_
Or DISGB3 = DISGB4 Then
MsgBox "Die eingegebenen Daten in Block B sind nicht korrekt!", vbCritical, Title:="- _
Intelligence Center"
Else
If DISGC1 = DISGC2 Or DISGC1 = DISGC3 Or DISGC1 = DISGC4 Or DISGC2 = DISGC3 Or DISGC2 = DISGC4 _
_
_
Or DISGC3 = DISGC4 Then
MsgBox "Die eingegebenen Daten in Block C sind nicht korrekt!", vbCritical, Title:="- _
Intelligence Center"
Else
If DISGD1 = DISGD2 Or DISGD1 = DISGD3 Or DISGD1 = DISGD4 Or DISGD2 = DISGD3 Or DISGD2 = DISGD4 _
_
_
Or DISGD3 = DISGD4 Then
MsgBox "Die eingegebenen Daten in Block D sind nicht korrekt!", vbCritical, Title:="- _
Intelligence Center"
Else
If DISGE1 = DISGE2 Or DISGE1 = DISGE3 Or DISGE1 = DISGE4 Or DISGE2 = DISGE3 Or DISGE2 = DISGE4 _
_
_
Or DISGE3 = DISGE4 Then
MsgBox "Die eingegebenen Daten in Block E sind nicht korrekt!", vbCritical, Title:="- _
Intelligence Center"
Else
If DISGF1 = DISGF2 Or DISGF1 = DISGF3 Or DISGF1 = DISGF4 Or DISGF2 = DISGF3 Or DISGF2 = DISGF4 _
_
_
Or DISGF3 = DISGF4 Then
MsgBox "Die eingegebenen Daten in Block F sind nicht korrekt!", vbCritical, Title:="- _
Intelligence Center"
Else
If DISGG1 = DISGG2 Or DISGG1 = DISGG3 Or DISGG1 = DISGG4 Or DISGG2 = DISGG3 Or DISGG2 = DISGG4 _
_
_
Or DISGG3 = DISGG4 Then
MsgBox "Die eingegebenen Daten in Block G sind nicht korrekt!", vbCritical, Title:="- _
Intelligence Center"
Else
If DISGH1 = DISGH2 Or DISGH1 = DISGH3 Or DISGH1 = DISGH4 Or DISGH2 = DISGH3 Or DISGH2 = DISGH4 _
_
_
Or DISGH3 = DISGH4 Then
MsgBox "Die eingegebenen Daten in Block H sind nicht korrekt!", vbCritical, Title:="- _
Intelligence Center"
Else
If DISGI1 = DISGI2 Or DISGI1 = DISGI3 Or DISGI1 = DISGI4 Or DISGI2 = DISGI3 Or DISGI2 = DISGI4 _
_
_
Or DISGI3 = DISGI4 Then
MsgBox "Die eingegebenen Daten in Block I sind nicht korrekt!", vbCritical, Title:="- _
Intelligence Center"
Else
If DISGJ1 = DISGJ2 Or DISGJ1 = DISGJ3 Or DISGJ1 = DISGJ4 Or DISGJ2 = DISGJ3 Or DISGJ2 = DISGJ4 _
_
_
Or DISGJ3 = DISGJ4 Then
MsgBox "Die eingegebenen Daten in Block J sind nicht korrekt!", vbCritical, Title:="- _
Intelligence Center"
Else
MsgBox "Die eingegebenen Daten im DISG Test sind korrekt", vbOKOnly, Title:="- Intelligence _
Center"
End If
End If
End If
End If
End If
End If
End If
End If
End If
End If
End Sub
Als Antwortmöglichkeiten sind immer Zahlen von 1 - 4 erlaubt. Wobei jede Zahl nur 1 x vorkommen darf.
Bis jetzt wird geprüft das kein Wert doppelt vorkommt.
Gerne würde ich noch eine Beschränkung auf Zahlen von 1-4 vornehmen.
Vielen Dank für eure/Ihre Hilfe im Vorraus gerne auch mit Verweis auf vlt. passende Literatur.
Lutz