Ich verstehe wieder etwas nicht.
Als Test habe ich eine einfache Tabelle erstellte.
In der Spalte A hatte es verschiedene Namen eingegeben. Da ich wissen wollte, ob es sich um doppelte Einträge handelt, habe ich in der Spalte B folgende Formel =ZÄHLENWENN(A$1:A1;A1)>1 eingegeben. Wie gewünscht ist das Resultat je nachdem "wahr" oder "falsch".
Zusätzlich wollte ich, dass ein OptionButton in einer Userform nicht aktiv ist, wenn es sich um doppelte Einträge handelt. Daher habe ich in der Userform folgenden Code geschrieben.
Option Explicit
Private Sub UserForm_Activate()
If ActiveCell.Offset(0, 1).Value = True Then
opt1.Enabled = False
Else
opt1.Enabled = True
End If
End Sub
Und siehe da es klappt ..... dachte ich mir.
Als ich diesen Code in meiner Originalmappe einschliessen wollte, habe ich festgesellt, dass die "Funktion" Private Sub UserForm_Activate() schon gebraucht wurde. Daher habe ich versucht den neuen Code im Bestehendem zu integrieren. Leider ohne Erfolg.
'bestehende Prozedur
Private Sub UserForm_Activate()
Dim lHwnd As Long, lStyle As Long
lHwnd = FindWindow("ThunderDFrame", Me.Caption)
If lHwnd <> 0 Then
lStyle = GetWindowLong(lHwnd, GWL_STYLE)
lStyle = SetWindowLong(lHwnd, GWL_STYLE, lStyle And Not WS_SYSMENU)
DrawMenuBar lHwnd
End If
'Neue Prozedur
If ActiveCell.Offset(0, 151).Value = True Then
optSiConto.Enabled = False
optNoConto.Enabled = False
optGiaConto.Enabled = False
optGiovaniSi.Enabled = False
optGiovaniNo.Enabled = False
optConcorrenzaSi.Enabled = False
optConcorrenzaNo.Enabled = False
optCrossSellingSi.Enabled = False
optCrossSellingNo.Enabled = False
Else
optSiConto.Enabled = True
optNoConto.Enabled = True
optGiaConto.Enabled = True
optGiovaniSi.Enabled = True
optGiovaniNo.Enabled = True
optConcorrenzaSi.Enabled = True
optConcorrenzaNo.Enabled = True
optCrossSellingSi.Enabled = True
optCrossSellingNo.Enabled = True
End If
End Sub
Kann mir jemand erklären ob und wie ich beide Prozeduren kombinieren kann.
Gruss.
Thierry