Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
996to1000
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

Worksheet_Change auf 2 Zellen anwenden

Worksheet_Change auf 2 Zellen anwenden
31.07.2008 12:25:00
Richard
Hallo VBA-Freaks,
könnt Ihr mir weiterhelfen, komme mal wieder nicht weiter.
Über nachfolgenden Code erreiche ich, dass bei Veränderung der Zelle A1, der neu eingetragene Wert in einer 2. Tabelle gesucht wird. Den dazugehörigen Referenzdaten zu dem Wert aus genannter Tabelle in den Spalte B-D, werden Variablen zugeordnet. Diese Variablen werden anschließend in der ersten Tabelle wieder eingelesen in die Zellen A3-A5. (Eigentlich ziemlich ähnlich der SVERWEIS-Formel)

Private Sub Worksheet_Change(ByVal Target As Range)
Dim vNew, vOld As Variant
Dim iRow As Integer
If Intersect(Target, Range("A1")) Is Nothing Then Exit Sub
vNew = Target.Value
Application.EnableEvents = False
On Error GoTo ERRORHANDLER
Application.Undo
vOld = Target.Value
Target.Value = vNew
With Worksheets("Tabelle2")
.Activate
iRow = .Cells(Rows.Count, 1).End(xlUp).Row
.Range("A1:A" & iRow).Select
Selection.Find(What:=Target.Value, LookIn:=xlValues, _
LookAt:=xlPart, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False, _
SearchFormat:=False).Activate
plA = .Cells(ActiveCell.Row, 2).Value
plB = .Cells(ActiveCell.Row, 3).Value
plC = .Cells(ActiveCell.Row, 4).Value
End With
Range("A3").Value = plA
Range("A4").Value = plB
Range("A5").Value = plC
ERRORHANDLER:
Application.EnableEvents = True
End Sub


Bis hierher ist mir noch alles klar.
Jetzt möchte ich jedoch, dass wenn die Zelle B1 verändert wird, dass dieser neue Wert als Multiplikator dient. D.h. Die Referenzwerte aus A3, A4 u. A5 sollen mit dem eingegeben Wert in B1 multipliziert werden. Und das Ergebnis soll wieder in die gleichen Zellen geschrieben werden. (e.g. A3 = A3 * B1)
Mein Problem:
Ich kann zwar in die Worksheet_Change-Eigenschaft beim Punkt "Intersect(Target, Range(BEREICH))" für den Bereich "A1:B1" setzten, aber dann behandelt er beide Zellen mit gleicher Aufgabe. Was bedeuten würde, dass er den Wert der Zelle B1 auch in der Tabelle2 suchen würde.
Ich hoffe, ich habe mich verständlich ausgedrückt.
Mit freundlichen Grüßen
Richard

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Worksheet_Change auf 2 Zellen anwenden
31.07.2008 12:37:35
mpb
Hallo Richard,
ohne den Code im einzelnen nachvollzogen zu haben:
Schreibe statt
If Intersect(Target, Range("A1")) Is Nothing Then Exit Sub
If Not Intersect(Target, Range("A1")) Is Nothing Then
'Dein bisheriger Code
End If
If Not Intersect(Target, Range("B1")) Is Nothing Then
'Dein Code für den neuen "Fall"
End If
Gruß
Martin

AW: Worksheet_Change auf 2 Zellen anwenden
31.07.2008 13:24:00
Richard
Danke Martin!
Hat wunderbar geklappt.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige