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
140to144
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
140to144
140to144
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Variable in WENN-Funktion übergeben

Variable in WENN-Funktion übergeben
25.07.2002 12:15:40
Jens Rodeike
Hallo Wissende,

ich möchte eine Variable aus einem Makro in eine WENN-Funktion als DANN-Wert übergeben.
Ein Makro überprüft, ob eine SLAVE-Arbeitsmappe vorhanden ist (das funktioniert). Falls ja soll aus dieser SLAVE-Arbeitsmappe der Wert im Feld $F$35 in meine aktive MASTER-Arbeitsmappe als Verknüpfung übernommen werden.

Function Existiert_Datei(DateiName As String) As Boolean
Dim dName As String
Dim dPfad As String
Dim dInhalt As String
dPfad = ActiveWorkbook.Path
dName = (dPfad & "\" & DateiName & ".xls")
dInhalt = ("'" & dPfad & "\" & "[" & DateiName & ".xls" & "]Timesheet'!$F$35")
On Error Resume Next
Existiert_Datei = CBool(GetAttr(dName) Or vbNormal _
Or vbHidden Or vbSystem Or vbArchive Or vbDirectory)
End Function

Aufruf in Tabelle:
=WENN(Existiert_Datei(LINKS($A$2;3)&LINKS($B$2;3)&LINKS(C$1;4)); ??? ;"Nein")

Der Namen der SLAVE-Arbeitsmappe setzt sich aus 3 Feldern zusammen.

Meine bisherigen Bemühungen endeten entweder im Programmabsturz, überschreiben der WENN-Funktion oder Übergabe von "dInhalt" als Text. Irgendwie fehlt mir die zündende Idee.

Es wäre schön, wenn Ihr mir aus der Patsche helfen könntet.

Gruß Jens

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Variable in WENN-Funktion übergeben
25.07.2002 13:16:55
Charlie
Hallo, Jens!

Ich würde das Problem so lösen:

Wenn sich der Dateiname ändert und die Function neu berechnet wird, führt das zu einer Änderung im Worksheet. Durch das Worksheet_Change-Ereignis wird eine externe Verknüpfung erstellt. Und in Deiner Tabellenormel musst Du dann nur auf diese Zelle verweisen:
=WENN(Existiert_Datei(LINKS($A$2;5)&LINKS($B$2;8)&LINKS($C$1;7));D1;"Nein")

Damit dieser Umweg über (in meinem Fall) D1 nicht zu sehen ist, kannst Du die betreffende Zeile/Spalte auch ausblenden.

Viel Erfolg,
Charlie

Re: Variable in WENN-Funktion übergeben
25.07.2002 14:46:58
Jens Rodeike
Hallo Charlie,

vielen Dank für deine Lösung.
Mein Problem ist nur, dass ich für 52 Wochen (C1 bis BB1) den Wert aus der jeweils entsprechenden Arbeitsmappe übernehmen muss. Weil es sonst ein wenig unübersichtlich wird, wollte ich keinen Zwischenwert in mein Timesheet übergeben.

Der Hinweis mit dem Worksheet_Change-Ereignis ist aber gar nicht so verkehrt, weil ich auch noch an einer anderen Aufgabe bastel.

Nochmals Danke

Jens

Anzeige
Re: Variable in WENN-Funktion übergeben
25.07.2002 14:54:57
Charlie
Hallo, Jens!

Deine Bedenken wegen der Übersichtlichkeit verstehe ich nicht ganz. Du musst Deine 52 Formeln doch nur eine Zelle verweisen, welche die externe Verknüpfung enthält. Dies würde ich in einer eigenen Spalte am rechten Tabellenrand plazieren und die Spalte dann ausblenden.

Wo soll da die Übersichtlichkeit leiden?

Aber wie schon gesagt: Mit Tabellenfunktionen sehe ich keine Möglichkeit. Aus einer Function kannst Du meines Wissens auch keine Einträge im Blatt vornehmen. Und variable externe Verknüpfungen in einer WENN-Formel werden (glaub ich zumindest) auch nicht funktionieren.

Viel Erfolg,
Charlie

Anzeige
Re: Variable in WENN-Funktion übergeben
25.07.2002 16:05:05
Jens Rodeike
Hi Charlie,

Komando zurück. Ich habe eben deine Lösung einmal praktisch ausprobiert.
Beim Lesen sah das komischer weise irgendwie ganz anders aus. Sorry!
Jetzt habe ich aber das gleiche Problem, dass ich auf anderer Art & Weise schon mal erreicht hatte. In der Zelle steht zwar jetzt der richtige Verweis auf das entsprechende Feld, aber es tut sich nichts. Der Verweis wird einfach als Text interpretiert.

='C:\1Daten\1Projekte\Deutsche Bank\Tätigkeitsnachweis\[SAPTem0229.xls]Tabelle1'!$F$35

Fällt dir vielleicht dazu noch eine Lösung ein?

Viele Grüße
Jens

Re: Variable in WENN-Funktion übergeben
25.07.2002 16:33:10
Charlie
Hallo, Jens!

Wenn Du den externen Verweis tatsächlich so als ganzes siehst, dann wird vermutlich die Zelle mit dem Format "Text" belegt sein. Anders kann ich es mir nicht erklären.

Und klar: Wenn man eine Formel in eine als Text formatierte Zelle schreibt, wird diese als Text behandelt und nix passiert.

Prüf das einmal. Wenn es nicht so sein sollte, kannst Du mir auch die Mappe schicken. Dann sehe ich mir das Problem direkt in Deiner Datei an.

Viel Erfolg,
Charlie

Anzeige

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige