Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

Verweis einer Zelle abfragen (vba)





Frage

Hallo zusammen! Ich möchte gerne den Verweis einer Zelle abfragen. Ich möchte also wissen, welche Formel in der Zelle steht. If ActiveCell.Formula = "=C?" Then In den Zellen die Abgefragt werden sollen, steht also wirklich nur "=C4" oder "=E9". Kann mir da jemand weiterhelfen?? Greetz

Antwort 1 von coros

Hi Alabamba,

irgendwie komm ich jetzt nicht ganz klar, was Du möchtest. Um zu wissen welcher Verweis in der Zelle steht benötigst Du doch keine Abfrage. Wenn Du mal den nachfolgenden VBA Code in das VBA Projekt der Tabelle kopierst, in der Du die Verweise erhalten möchtest, wird Dir beim anklicken der Zellen die Verweisformel in einer MsgBox angezeigt.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
MsgBox ActiveCell.Formula
End Sub


Wenn Du was anderes meinst, dann müsstest Du Deine Frage etwas anders, bzw. genauer stellen.

MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 2 von Event

Hallo

So vielleicht?

If ActiveCell.Formula = "=A2" Then Cells(1, 6) = "gut" _
Else Cells(1, 6) = "´" & ActiveCell.Formula

Gruß

Antwort 3 von Alabamba

Ok, sorry!
Ich versuche mich mal klarer auszudrücken. :-)

Ich habe eine Spalte mit vielen Verweisen auf andere Zellen. Jetzt möchte ich mit einem Makro prüfen, aus welcher Spalte die Werte kommen. Kommt der Wert aus einer bestimmten Spalte, (wie z.B. Spalte "C") dann soll in der Zelle rechts neben dem Wert "Woche1" stehen.
Hier mal mein Code:

 Sub woche()
Dim n As Integer
Range("h1").Select

For n = 1 To 100
    If ActiveCell.Formula = "?C?" Then
        ActiveCell.Offset(0, 1).Select
        ActiveCell.Value = "Woche1"
        ActiveCell.Offset(0, -1).Select
    End If
ActiveCell.Offset(1, 0).Select
Next n
Range("h1").Select
End Sub


Hoffe, dass das jetzt verständlicher ist.

Greetz

Antwort 4 von Alabamba

Hi Event
So in etwa habe ich es.
Ich möchte jetzt aber nur die Spalte abfragen. Mit Platzhaltern wie "*" oder "?" komme ich auch irgendwie nicht weiter.

Antwort 5 von coros

Hi Alabamba,

da Du nicht schreibst, welcher Bereich durchsucht werden soll und ich in Deinem Makro die Zelle H1 entdeckt habe, habe ich Dir mal einen Code geschrieben, der den Bereich H1 bis H100 durchsucht nach dem Teil "=C" der Verweisformel. Wenn gefunden wird eine Spalte weiter in der gleichen Zeile der Text Woche 1 ausgegeben. Ich hoffe, Du hast das so gemeint. Wenn nicht, dann melde Dich.

Private Sub CommandButton1_Click()
Dim n As Integer
For n = 1 To 100
If Mid(Cells(n, 8).Formula, 1, 2) = "=C" Then
Cells(n, 9) = "Woche 1"
End If
Next
End Sub



MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 6 von Alabamba

Das bewirkt jetzt genau das, was ich haben wollte.
DANKE!

Von der Eigenschaft "Mid" habe ich allerdings noch nichts gehört und finde auch leider in der MSHilfe nix dazu.

Naja, es funktioniert ja.
DANKESCHÖN!!

Greetz
Alabamba

Antwort 7 von coros

Hi,

freut mich, dass DIr das weiterhilft. Suche mal in der Hilfe nach Mid-Funktion, darüber sollte schon etwas in der VBA Hilfe stehen. Danke Dir auch für die Rückmeldung.

MfG,
coros
Jeder macht was er will, keiner macht was er soll, aber alle machen mit.