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

SelectionChange ByVal funktioniert nicht

SelectionChange ByVal funktioniert nicht
Dietmar
Hallo zusammen,
nachfolgender Code funktioniert nicht.
Was mache ich falsch? Eine Fehlermeldung wird nicht erzeugt.
Wenn in Zelle A1 die Ziffer 1 erzeugt wird (durch Optionsschalter), soll in Zelle E22 die Zahl 25
erzeugt werden. Sofern durch den zweiten Optionsschalter die Ziffer 2 generiert wird, soll in Range("E22") eine 1 erzeugt werden.
Viele Grüße
Dietmar aus Aachen
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "A1" Then
If Target.Value = 1 Then Range("E22").Value = 25
If Target.Value = 2 Then Range("E22").Value = 1
End If
End Sub

AW: SelectionChange ByVal funktioniert nicht
01.02.2012 18:28:02
Hajo_Zi
Hallo Dietmar,
Selection ist Auswahl. Bei Dir wird nichts ausgewählt und Change wird nicht ausgelöst, vermute ich da Verknüpfung.

AW: SelectionChange ByVal funktioniert nicht
01.02.2012 18:48:11
Dietmar
Hallo Hajo,
besten Dank für den Hinweis.
Eine Verknüpfung liegt nicht vor. Ich generiere lediglich mit zwie Optionsschaltern eine 1 oder eine 2 in A1.
Ohne Selection hatte ich es auch schon versucht, also nur mit 'Private Sub Worksheet_Change(ByVal Target As Range)'
Funktioniert leider auch nicht.
Hier mal meine Testdatei:
https://www.herber.de/bbs/user/78690.xls
Bin gespannt, was da nicht stimmt.
Vielen Dank!
Dietmar aus Aachen
Anzeige
AW: SelectionChange ByVal funktioniert nicht
01.02.2012 18:50:34
Hajo_Zi
Hallo Dietmar,
Du schreibst die 1 und 2 also per Code in die Zelle. Warum machst Du Deinen Code dann nicht dort?
Ich sehe keinen Grund eine Datei runterzuladen.
Gruß Hajo
Ich komme dem Ziel näher :-)
01.02.2012 20:33:21
Dietmar
Hallo Hajo,
Du kriegst mich schon dazu, dass ich das Problem logisch eingrenze :-)
Habe jetzt eine Lösung codiert, die mich dem Ziel ein wenig näher bringt. Leider aber noch nicht zu meiner Zufriedenheit.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Pruefbereich As Range
On Error Resume Next
Set Pruefbereich = Range("A1")
If Pruefbereich.Value = 1 Then Range("E22").Value = 25
End Sub
Es funktioniert , wenn ich die Zahl 1 in A1 eintrage.
Was nicht funktioniert, ist: wenn ich die 1 mittels des Optionsschalters generiere. In meiner Mutterdatei
arbeite ich aber mit mehreren Optionsschaltern; diese möchte ich auch gerne beibehalten.
Gibt es dafür eine Lösung?
Viele Grüße
Dietmar
Anzeige
AW: Ich komme dem Ziel näher :-)
01.02.2012 20:37:39
Hajo_Zi
Hallo Dieter,
das hatte ich auch schon geschrieben. Du mußt Calculate benutzen.
Gruß Hajo
genug getüftelt, komme nicht weiter
01.02.2012 21:32:54
Dietmar
Hallo Hajo,
sorry, habe alles mögliche probiert. Es klappt nicht!
Ich weiß nicht wo ich das calculate einsetzen muss, damit eine Zellwertänderung mittels des Optionsschalters
in der Zelle A1 die Zahl 25 in Range("E22") schreibt.
Wenn ich die Zahl 1 in A1 eintippe, ist alles kein Problem.
In meiner Mutterdatei wird es aber nicht A1 sein, sondern eine verborgene Zelle, die ich mittels Optionsschalter verändere.
Private Sub Worksheet_Calculate ... jedenfalls komme ich nicht klar.
Viele Grüße
Dietmar
Anzeige
AW: SelectionChange ByVal funktioniert nicht
01.02.2012 21:54:12
Josef

Hallo Dietmar,
' **********************************************************************
' Modul: Tabelle2 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Worksheet_Calculate()
  
  On Error GoTo ErrExit
  Application.EnableEvents = False
  
  If Range("A1") = 1 Then
    Range("E22") = 25
  Else
    Range("E22") = 1
  End If
  
  ErrExit:
  Application.EnableEvents = True
End Sub



« Gruß Sepp »

Anzeige
nicht wirklich
01.02.2012 22:32:35
Dietmar
Hallo Sepp,
danke für Deine Mühe.
Ich sitze doch tatsächlich noch dran und finde einfach keine Lösung.
Dein Code funktioniert auch nur dann, wenn ich ihn in der VBA-Umgebung mit F5 (respektive F8) aktiviere.
Die Änderung des Zelleintrags in A1 mittels des Optionsschalters bewirkt leider nicht den Eintrag in E22.
So recht verstehen kann ich das nicht.
Viele Grüße
Dietmar
dann schreib in ....
01.02.2012 22:47:35
Josef

... irgend eine Zelle de Formel =JETZT() damit die Berechnung angestoßen wird.

« Gruß Sepp »

Anzeige
... na da soll einer drauf kommen ...
01.02.2012 22:52:39
Dietmar
Hallo Sepp,
wieder mal: herzlichen Dank!
Diese Variante hatte ich nun aber wirklich nicht in meinen Überlegungen. Logisch ist es wohl auch nur
für den Profi :-)
Funktioniert aber bestens.
So, jetzt geht's mir besser :-)
Gute Nacht
Dietmar aus Aachen
AW: ... na da soll einer drauf kommen ...
01.02.2012 22:54:12
Josef

Hallo Dietmar,
warum ist das nicht logisch? Wenn keine Formel in der Tabelle ist, kann Worksheet_Calculate ja nicht anspringen, es gibt ja nichts zu Berechnen!

« Gruß Sepp »

Anzeige
ok, das ist dann natürlich doch logisch ...
01.02.2012 22:57:30
Dietmar
Hallo Sepp,
jetzt hab ich's verstanden.
Das wäre mir vermutlich in meiner Mutterdatei, die ich mir gleich vorknöpfe, dann wohl auch nicht
aufgefallen, weil dort zahlreiche Berechnungen vorkommen.
Wie würde Lothar Mattäus sagen: Again what learned :-)
Bis gelegentlich dann mal wieder.
Liebe Grüße
Dietmar

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige