online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon mmarion vom 31.08.2019, 11:16 Options

Makro für Sverweis

Hallo Leute,

ich möchte ein Makro schreiben, dass mir automatisch wenn ich bei D15 "Ja" auswähle und in M19 ein Wert eingebe automatisch ein Sverweis macht. Ich versuch schon ewig rum und komm zu keinem Ergebnis.

Suchkriterium: I25
Matrix: Datenpflege!K2:L30000
Spaltenindex: 2

Wäre für Hilfe wirklich sehr dankbar

Vielen Dank und Grüsse
marion


Antwort schreiben

Antwort 1 von Beverly vom 31.08.2019, 13:06 Options

Hi Marion,

versuche es mit diesem Code (ungetestet)

 Private Sub Worksheet_Change(ByVal Target As Range)
    Dim raZelle As Range
    If Target.Address <> "$M$19" Then Exit Sub
    If Range("D15") = "Ja" Then
        Set raZelle = Worksheets("Datenpflege").Range("K2:K30000").Find(Range("I25"), lookat:=xlWhole)
        MsgBox raZelle.Offset(0, 1)
    End If
End Sub



Bis später,
Karin

Antwort 2 von mmarion vom 31.08.2019, 14:25 Options

Dankeschön, aber excel bringt bei mir die Fehlermeldung:

Mehrdeutiger Name: Worksheet Change

wie weise ich denen verschiedene Namen zu:


Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$D$5" Then Exit Sub
If Target = "Ja" Then
With Range("D9").Validation
.Delete
.Add Type:=xlValidateList, _
AlertStyle:=xlValidAlertStop, _
Operator:=xlEqual, _
Formula1:="=Account"
End With
Else
Range("D9").Validation.Delete
End If
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
Dim raZelle As Range
If Target.Address <> "$M$19" Then Exit Sub
If Range("D15") = "Ja" Then
Set raZelle = Worksheets("Datenpflege").Range("K2:K30000").Find(Range("I25"), lookat:=xlWhole)
MsgBox raZelle.Offset(0, 1)
End If
End Sub

Antwort 3 von Beverly vom 31.08.2019, 14:36 Options

Hi Marion,

jede Tabelle hat nur ein einziges Worksheet_Change Ereignis, deshalb musst du beide Codes zusammenführen

Private Sub Worksheet_Change(ByVal Target As Range)
Dim raZelle As Range
If Target.Address <> "$D$5" And Target.Address <> "$M$19" Then Exit Sub
Select Case Target.Address
Case "$D$5"
If Target = "Ja" Then
With Range("D9").Validation
.Delete
.Add Type:=xlValidateList, _
AlertStyle:=xlValidAlertStop, _
Operator:=xlEqual, _
Formula1:="=Account"
End With
Else
Range("D9").Validation.Delete
End If
Case "$M$19"
If Range("D15") = "Ja" Then
Set raZelle = Worksheets("Datenpflege").Range("K2:K30000").Find(Range("I25"), lookat:=xlWhole)
MsgBox raZelle.Offset(0, 1)
End If
End Select
End Sub


Bis später,
Karin

Antwort 4 von mmarion vom 31.08.2019, 14:52 Options

Hi Karin,


vielen Dank für die schnelle Antwort. Aber Excel bringt mir die Fehlermeldung '91': Objektvariable oder With-Block Variable nicht festgelegt.

Vielen Dank und Grüsse

Antwort 5 von Beverly vom 31.08.2019, 16:14 Options

Hi Marion,

und in welcher Zeile wird markiert?

Bis später,
Karin

Ähnliche Themen

Makro Formel
Smart79  29.08.2007 - 47 Hits -

Sverweis starten, wenn Eingabetaste betätigt wird
egon1967  22.01.2008 - 133 Hits - 10 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026