Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Makro wenn und sverweis

Makro wenn und sverweis
10.12.2006 18:33:19
Stamereilers
Hallo Excel Experten!
Ich hätte gerne folgende Formel durch ein Makro ersetzt.
=WENN(ISTNV(SVERWEIS(Kalender!D4;Training!$A$1:$B$1000;2;FALSCH));WENN(ISTNV(SVERWEIS(D4;Termine!$E$1:$F$3998;2;FALSCH));"";SVERWEIS(D4;Termine!$E$1:$F$3998;2;FALSCH));SVERWEIS(Kalender!D4;Training!$A$1:$B$1000;2;FALSCH))
Im Kalenderblatt steht die Formel von E4:E780
Vielen Dank für eure Hilfe!
Gruß
Rolf
Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro wenn und sverweis
10.12.2006 19:01:52
Daniel
Hallo
ich glaube du meinst, du hättest gerne ein Makro, daß dir die Ergebnisse der Formel als Fixwerte in die Tablle schriebt, damit nicht jedesmal eine Zeitaufwendige Neuberechnung ausgeführt wird?
Könnte so funktionieren:

Sub Test
with range("E4:E780")
.formulalocal ="=WENN(ISTNV(SVERWEIS(Kalender!D4;Training!$A$1:$B$1000;2;FALSCH));WENN(ISTNV(SVERWEIS(D4;Termine!$E$1:$F$3998;2;FALSCH));"";SVERWEIS(D4;Termine!$E$1:$F$3998;2;FALSCH));SVERWEIS(Kalender!D4;Training!$A$1:$B$1000;2;FALSCH))"
.formula = .value
end with
End Sub

Gruß, Daniel
Anzeige
AW: Makro wenn und sverweis
10.12.2006 19:13:33
Stamereilers
Hallo Daniel!
Vielen Dank für deine Hilfe!
Kann man das Makro auch automatisieren? Das heißt, das das Makro automatisch abläuft, wenn ich eine Zahl oder einen Buchstaben in Kalenderblatt D4: D1000 reinschreibe?
Gruß
Rolf
AW: Makro wenn und sverweis
10.12.2006 20:23:30
Daniel
Hallo
ja, kann man automatisieren, wenn man im Codebereich des Sheets diesen Code einträgt:
das Makro läuft automatisch ab, wenn im Sheet was geändert wird.

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 4 Then Exit Sub
If Target.Row < 4 Then Exit Sub
If Target.Columns.Count > 1 Then Exit Sub
Application.EnableEvents = False
With Target.Offset(0, 1)
.FormulaLocal = "Hier deine Formel eintragen"
.Formula = .Value
End With
Application.EnableEvents = True
End Sub

Was sich nicht ändern sollte sind die Werte in den Sheets Training und Termine. Wenn sich hier was ändert, müssen alle Fixwerte in der Tabelle nochmal aktualisiert werden.
Gruß, Daniel
Anzeige
AW: Makro wenn und sverweis
11.12.2006 21:16:06
Stamereilers
Hallo Daniel!
Leider funkt das makro noch nicht!

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 4 Then Exit Sub
If Target.Row < 4 Then Exit Sub
If Target.Columns.Count > 1 Then Exit Sub
Application.EnableEvents = False
With Target.Offset(0, 1)
.FormulaLocal = "=WENN(ISTNV(SVERWEIS(Kalender!D4;Training!$A$1:$B$1000;2;FALSCH));WENN(ISTNV(SVERWEIS(D4;Termine!$E$1:$F$3998;2;FALSCH));"";SVERWEIS(D4;Termine!$E$1:$F$3998;2;FALSCH));SVERWEIS(Kalender!D4;Training!$A$1:$B$1000;2;FALSCH))"
.Formula = .Value
End With
Application.EnableEvents = True
End Sub

Woran kann es liegen?
Das Makro soll immer ausgeführt werden wenn ich in Tabellenblatt Kalender D4:D780 etwas ändere.
Vielleicht kannst noch einmal schauen?
Danke!
Gruß
Rolf
Anzeige
Bitte mal Datei einstellen. owt
11.12.2006 22:42:20
Daniel
AW: Bitte mal Datei einstellen. owt
12.12.2006 20:23:52
Stamereilers
Hallo Daniel!
Leider konnte ich nur einen Teil der Datei hochladen.
Ich hoffe es recht.
Gruß
Rolf
Datei fehlt
12.12.2006 20:50:03
Daniel
Hi klar, braucht nicht die ganze Datenbank sein.
Momentan ist aber gar nichts da.
ggf vergessen, den Link reinzukopieren?
Gruß, Daniel
Anzeige
AW: Datei fehlt
13.12.2006 16:56:10
Stamereilers
Hallo Daniel!
Und ich habe mich schon gewundert wofür der Link wohl ist. :)
https://www.herber.de/bbs/user/38956.xls
Danke für deine Hilfe!
Gruß
Rolf
AW: Datei fehlt
13.12.2006 22:11:47
Daniel
Hallo
kann auch so nicht gehen, ich hatte übersehen, daß du innerhalb deiner Formel Anführungszeichen verwendest.
Wenn du mit .formula oder ähnlichem einer Zelle eine Formel zuweist, müssen die Anführungszeichen , die zu der Formel gehören immer gedoppelt werden, damit Excel erkennt, daß die Anführungszeichen auch wirklich zur Formel gehören und nicht den String begrenzen.
ne Formel mit Anführungszeichen muß dann so aussehen:
.formulaLocal = "=""Guten Abend Herr""&A5"
Gruß, Daniel
Anzeige
AW: Datei fehlt
15.12.2006 19:00:26
Stamereilers
Hallo Daniel!
Nun habe ich ein Makro gefunden welches genau passt!
'ClassModule: Kalender

Private Sub Worksheet_Change(ByVal Target As Range)
Dim var As Variant
If Target.Column <> 4 Then Exit Sub
With Application
var = .VLookup(Target.Value, _
Worksheets("Training").Columns("A:B"), 2, 0)
If Not IsError(var) Then
Target.Offset(0, 1) = .VLookup(Target.Value, _
Worksheets("Training").Columns("A:B"), 2, 0)
End If
End With
End Sub

Vielen Dank noch mal für deine Hilfe!!
Gruß
Rolf
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige