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

Target/ Dim an aufgerufenes Modul übergeben

Target/ Dim an aufgerufenes Modul übergeben
25.03.2008 21:04:46
Andreas
Hallo Herber Fans,
um die Übersicht zu wahren, beginne ich nun mit dem Call Aufruf zu arbeiten. In diesem Zuge stehe ich vor dem Problem, daß ich in einem VBA Objekt (Tabellenblatt) über Worksheet Change das Target ermittle. Dieses wird in die Dim Test (as String) über Test = target.value geschrieben.
Anschließend rufe ich ein Makro aus einem Modul über Call TESTMAKRO auf. Dieses Makro soll prüfen, ob das Target (des Tabellenblattes) einem bestimmten Wert entspricht.
If Test = „Himmel“ then tue dies, tue das.
Ich schaffe es leider auch mit der VBA Online Hilfe nicht, dieses Target/ Dim an das aufgerufenen Modul zu übergeben. Muß ich die Dim „Test“ vielleicht global für die ganze Datei definieren. Ich hatte es schon in „Diese Arbeitsmappe“ zu stehen Public Test as String. Aber leider ohne Erfolg.
Vielen Dank für Eure Ideen und Lösungsanregungen.
Grüße, Andreas Hanisch

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Target/ Dim an aufgerufenes Modul übergeben
25.03.2008 21:07:57
Heinz
Hi,
öffentliche(Public)-Variable müssen in einem Standardmodul ganz oben, direkt unter
Option Explicit, deklariert werden.
mfg Heinz

AW: Target/ Dim an aufgerufenes Modul übergeben
25.03.2008 21:08:32
Peter
Hallo Andreas,
die Variable Test muss als Public Test As String in einem allgemeinen Modul direkt hinter Option Explicit stehen - außerhalb jeder und vor der ersten Sub.
Dann kannst du sie von allen Makros aus verwenden.
Gruß Peter

AW: Target/ Dim an aufgerufenes Modul übergeben
25.03.2008 21:43:00
Ramses
Hallo
Sorry, dass ich den anderen teilweise widerspreche.
Aber wenn du nur Werte einer anderen Prozedur/Funktion prüfen willst, die du später nicht mehr verwenden musst, dann ist die Deklaration ausserhalb ein einer Prozedur nicht nötig.
Ein Beispiel:
Das gehört in das Klassenmodul deiner Tabelle wo das funktionieren soll
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    If demo(Target.Value) = True Then
        MsgBox "Hat funktioniert"
    Else
        MsgBox "Hat nicht funktioniert"
    End If
End Sub

Das gehört in ein Modul deiner Mappe
Option Explicit

Function demo(chkVal As Variant) As Boolean
    MsgBox "Übergebener Wert: " & chkVal
    Select Case chkVal
        Case "Demo"
            MsgBox "Treffer"
            demo = True
        Case Else
            MsgBox "Der Zellwert ist nicht ""Demo"""
            demo = False
    End Select
End Function

Gruss Rainer

Anzeige
AW: Target/ Dim an aufgerufenes Modul übergeben
31.03.2008 11:14:14
Andreas
Hallo zusammen,
vielen Dank an Euch drei fleißige Antworter. Ich habe es erst heute geschafft, die Lösungsvorschläge zu testen. Der Vorschlag von Heinz und Peter lief schon erfolgreich durch.
Den dritten werde ich heute auch noch probieren.
Euch dreien nochmals Danke für die schnelle Hilfe!
Grüße, Andreas

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige