Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
484to488
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
484to488
484to488
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Worksheet_Change in Verbindung mir Auswahlliste

Worksheet_Change in Verbindung mir Auswahlliste
16.09.2004 16:10:08
emuc
Hallo Excel-Freaks,
wie kann ich den übernommenen Wert einer Auswahlliste erkennen. Über Worksheet_Change funktioniert es nicht da ich ja nicht direkt in die Zelle eingebe.
Ich hab mal folgendes Probiert:

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
Dim var As Variant
MsgBox Target.Value 'Zeigt den Inhalt der Target-Zelle
If Target.Address = "$E$22" Then
var = Application.Match(Target, Tabelle2.Columns(3), 0)
MsgBox var 'Zeigt an in welcher Zeile der Vergleichswert liegt
On Error Resume Next
End if
End Sub

Ergebnis: wie beschreiben; es wird nur direkt eingegebener Text in der MsgBox angezeigt. Aber nicht wie gewünscht der aus der Auswahlliste übernommene Wert.
Ich hab keine Ahnung wie ich die Auswahl aus einer AuswahlListe abfrage. Im Archiv hab ich trotz langer suche nichts passendes gefunden.

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Worksheet_Change in Verbindung mir Auswahlliste
emuc
Wenn dir keiner hilft, dann hilf dir selbst :-)
Aber als Anregung für diejenigen die ähnliche Probleme haben; So gehts:
ClassModule: DieseArbeitsmappe

Private Sub workbook_open()
Zellinhalt = Worksheets("Tabelle1").Range("e22").Value
End Sub

ClassModule: Tabelle1
Public Zellinhalt As Double

Private Sub Worksheet_Calculate()
If Zellinhalt <> Range("E22").Value Then
'MsgBox "neuer Wert in E22:" & Range("E22").Value
Zellinhalt = Range("E22").Value
var = Application.Match(Range("E22"), Tabelle2.Columns(3), 0)
'MsgBox var
On Error Resume Next
Range("E22").Comment.Delete
On Error GoTo 0
If IsError(var) Then Exit Sub
ComTxt = Tabelle2.Range("D" & var)
'MsgBox ComTxt
If ComTxt <> "" Then
ActiveCell.AddComment ComTxt
End If
End Sub

Für diejenigen, die die Funktion nicht auf Anhieb verstehen folgt eine kleine Gedankenstütze:
In der Tabelle1 ist auf der Zelle E22 eine Auswahlliste hinterlegt. Diese Liste enthält bei mir Datumswerte (z.B. 16.9.04, 17.9.04,19.9.04,23.9.04), die in einer Tabelle 2 in C1-C4 hinterlegt sind. Mein Wunsch war, nach dem Auswählen eines Wertes aus der Liste den Text aus der Nachbarzelle (Tab2 D1-D4)zu ziehen und diesen als Kommentar in der Ausgangszelle zu hinterlegen. Also Beispiel:
gewählt: 16.09.04; Kommentar dazu in Tab1 E22: "Heute"
gewählt: 17.09.04; Kommentar dazu in Tab1 E22: "Morgen"
gewählt: 19.09.04; Kommentar dazu in Tab1 E22: "Nächster Freitag"
gewählt: 23.09.04; Kommentar dazu in Tab1 E22: "Heute in einer Woche"
Vielleicht hilft es ja dem einen oder anderen; Freu mich auch über Anregungen,Kritik,Ergänzungen,Erweiterungen ...
:-)
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige