Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
660to664
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
660to664
660to664
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Zählenwenn doppelte Eingaben + If/Then Else
04.09.2005 20:25:25
Thierry
Hallo!
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

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

Betreff
Datum
Anwender
Anzeige
AW: Zählenwenn doppelte Eingaben + If/Then Else
04.09.2005 21:14:57
Nepumuk
Hallo Thierry,
indem du sie in die vorhandene integrierst.
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
    If ActiveCell.Offset(0, 1).Value = True Then
        opt1.Enabled = False
    Else
        opt1.Enabled = True
    End If
End Sub

Gruß
Nepumuk
Excel & VBA – Beispiele
Anzeige
AW: Zählenwenn doppelte Eingaben + If/Then Else
05.09.2005 20:19:33
Thierry
Hallo Nepumuk
Habe es versucht, erscheint aber folgende Meldung:
Laufzeitfehler 1004
Anwendungs- oder objektdefinierter Fehler
und beim Debuggen, hält der Pfeil bei der Zeile
If ActiveCell.Offset(0, 151).Value = True Then
an.
Warum?
Gruss
Thierry
AW: Zählenwenn doppelte Eingaben + If/Then Else
05.09.2005 20:34:09
Nepumuk
Hallo Thierry,
in der Zeile wird ein Offset um 151 Spalten nach rechts gemacht. Das geht so lange gut, solange der Cursor vor der Spalte DB steht. Warum du das machst, kann ich nicht sagen, das ist dein Makro.
Gruß
Nepumuk
Excel & VBA – Beispiele
Anzeige
AW: Zählenwenn doppelte Eingaben + If/Then Else
05.09.2005 21:12:18
Thierry
Hallo Nepumuk
Ich habe verstanden warum die Fehlermeldung erscheint. Jetzt glaube ich aber, dass mein Code vielleicht nicht das Richtige ist.
Ich habe in der Spalte FI die Formel
zaehlenwenn(A$5:A5;A5) 1
eingegeben. Jetzt möchte ich, dass bestimmte optionBotten der Userform nicht aktiv sind, wenn in der Spalte FI Wahr (True) steht.
Also wenn irgendwo auf der Zeile 5 die Userform geöffnet wir, sollten die Daten der Zelle FI5 (True/False) überprüft werden.
Wenn die Userform von der Zeile 6 geöffnet wird, sollten die Daten der Zelle FI6 überprüft werden, usw.
Das
'If ActiveCell.Offset(0, 151).Value
ist wahrscheinlich nicht die beste Lösung. Gibt es vielleicht einen anderen Code?
Gruss.
Thierry
Anzeige
AW: Zählenwenn doppelte Eingaben + If/Then Else
05.09.2005 21:29:41
Nepumuk
Hallo Thierry,
so:
If Cells(ActiveCell.Row, 165).Value = True Then
Gruß
Nepumuk
Excel & VBA – Beispiele

90 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige