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

Makro per Zellinhalt aktivieren

Makro per Zellinhalt aktivieren
10.09.2006 12:15:28
Thorsten
Hallo,
stehe vor folgendem Problem, vieleicht kann jemand helfen.
So müsste mein Formelabschnitt theoretisch aussehen.
'=WENN(UND($C$35>36;$C$35 Nun gibt es die Funktion "MAKRO(..." nicht.
Hat xl vieleicht doch eine "versteckte" Fubktion, dass dies funktioniert
oder benötige ich hier ein neues VBA?
Für Hilfe Besten Dank
Gruß Thorsten

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro per Zellinhalt aktivieren
10.09.2006 12:32:48
Matthias
Hallo Thorsten,
ein neues VBA brauchst du nicht, es genügt das vorhandene.. ;-)
Soll in der "Formel" ein Rückgabewert angezeigt werden?
Wenn nicht, brauchst du keine Formel, sondern eine Überwachung des Ereignisses Worksheet_Change() oder Worksheet_Calculate(), je nachdem, ob die Zelle C35 sich manuell (per Eingabe) oder über eine Formel ändert.
Gruß Matthias
AW: Makro per Zellinhalt aktivieren
10.09.2006 12:57:34
Thorsten
Hallo Matthias,
danke für Antwort.
Der Wert Zelle C35 ist ein Eingabewert durch ein Formular-Steuerelement.
In Zelle D35 steht ein vollständiger Pfad. Dieser ändert sich in Abhängikeit von Zelle C35
Das Makro, welches nur beim Eingabewert von 37 bis 42 aktiviert werden soll lautet:

Sub Öffne_Link()
Workbooks.Open Filename:=Range("D35")
End Sub

Gruß Thorsten
Anzeige
AW: Makro per Zellinhalt aktivieren
10.09.2006 13:02:28
Matthias
Hallo Thorsten?
Der Wert Zelle C35 ist ein Eingabewert durch ein Formular-Steuerelement.
Wie? Das habe ich nicht verstanden... Welches Steuerelement?
Gruß Matthias
AW: Makro per Zellinhalt aktivieren
10.09.2006 13:33:43
Thorsten
In Zelle C35 steht die Rückgabe von einem Kombinationsfeld (aus der Formularleiste). Dort wird eine Auswahl getroffen und folglich ein Wert zurückgegeben. Der Wert kann zwischen 1 und 45 liegen. Aber nur bei einem Wert zw. 37 und 42 steht ein Pfad in D35.
In D34 steht die eigentliche Formel, welche sich auf C35 bezieht
'=WENN(C35=1;1;WENN(C35=;"blabla" u.s.w. bis WENN(UND($C$35>36;$C$35 Hoffe das ist verständlich, sonst muss ich die Datei hochladen. Dies würde aber etwas dauern, da so viel zu groß.
Gruß Thorsten
Anzeige
AW: Makro per Zellinhalt aktivieren
10.09.2006 13:49:24
Matthias
Hallo Thorsten,
versuch mal diesen Code (ins Tabellenmodul!):

Private Sub Worksheet_Calculate()
Static old_value
If Range("D34") <> old_value Then
old_value = Range("D34")
'D34 wurde geändert:
With Range("C35")
If .Value > 36 And .Value < 43 Then
Workbooks.Open Filename:=Range("D35")
End If
End With
End If
End Sub

In der jetzigen Form läuft das Makro allerdings auf einen Fehler, wenn die Datei schon geöffnet ist.
Gruß Matthias
AW: Makro per Zellinhalt aktivieren
10.09.2006 14:31:07
Thorsten
Hallo Matthias,
sorry hat etwas gedauert, spätes Mittag kam dazwischen.
Funkt leider nicht.
Ich bau die Datei jetzt zum hochladen um.
Dauert sicher 1/2 Stunde.
Wäre super wenn du dir die später anschaust.
Gruß Thorsten
Anzeige
AW: Makro per Zellinhalt aktivieren
10.09.2006 14:33:00
Matthias
Hallo Thorsten,
Funkt leider nicht.
Hast du den Code auch ins Tabellenmodul gesetzt?
Gruß Matthias
AW: Makro per Zellinhalt aktivieren
10.09.2006 16:06:00
Thorsten
Hallo Matthias,
was ist denn ein Tabellenmodul? ("Oh hier hast du es mit Kunden zu tun,was")
Bei mir gibt`s nur Modul oder Klassenmodul. Ich habe es mit dem Modul versucht
und ich habe mit der direkten Tabelle versucht.
Da kam aber nur permanent "debuggen".
Deshalb habe ich deinen Code nochmal rausgenommen.
https://www.herber.de/bbs/user/36548.xls
Info: In der Beispielmappe ist nachstehendes VBA enthalten

Sub Auswahl_Links()
With Worksheets("STRG")
Worksheets(CStr(.Range("B" & .Range("C35")))).Activate
End With
End Sub

---------------------------------------------------------------------

Sub Öffne_Link()
Workbooks.Open Filename:=Range("D35")
End Sub

Gruß Thorsten
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige