Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema MsgBox
BildScreenshot zu MsgBox MsgBox-Seite mit Beispielarbeitsmappe aufrufen

Worksheet_Change in Verbindung mir Auswahlliste

Betrifft: Worksheet_Change in Verbindung mir Auswahlliste von: emuc
Geschrieben am: 16.09.2004 16:10:08

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.
  


Betrifft: AW: Worksheet_Change in Verbindung mir Auswahlliste von: emuc
Geschrieben am: 16.09.2004 18:24:40

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 ...

:-)


 

Beiträge aus den Excel-Beispielen zum Thema "Worksheet_Change in Verbindung mir Auswahlliste"