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

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

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige