die Zeilen mit zeile = Application.Caller.Row
die Spalten mit spalte= Application.Caller.Column
aber wie das Arbeitsblatt ?
.Sheet und .Worksheet funktionieren nicht.
die Zeilen mit zeile = Application.Caller.Row
die Spalten mit spalte= Application.Caller.Column
aber wie das Arbeitsblatt ?
.Sheet und .Worksheet funktionieren nicht.
versuch es mal so:
Application.VBE.SelectedVBComponent.Name
Gruss
Andreas
Wie komme ich an den Namen ?
SUB Makro1()
[....] sortieren der ganzen Daten in die entspr. Blätter
END SUB
Abfrage, wo ein Doppelklick gemacht wurde - hier z.B. Blatt "A"
Private Sub auto_open()
Worksheets("A").OnDoubleClick Auswahl
End Sub
In dieser Routine soll er mir Zeile, Spalte und Blatt in das Blatt(Auswahl) ausgeben.
Private Sub Auswahl()
zeile = Application.Caller.Row
spalte = Application.Caller.Column
blatt = Application.VBE.SelectedVBcomponent.Name
Worksheets("Auswahl").Select
Worksheets("Auswahl").Cells(1, 1) = zeile
Worksheets("Auswahl").Cells(1, 2) = spalte
Worksheets("Auswahl").Cells(1, 3) = blatt
Worksheets(blatt).Select
End Sub
danke.
Öffne den VBA-Editor: Drücke ALT + F11
in Excel.
Erstelle ein neues Modul: Klicke mit der rechten Maustaste auf "VBAProject (dein Arbeitsblattname)" im Projektfenster und wähle "Einfügen" > "Modul".
Füge das folgende Makro ein:
Sub Makro1()
' Hier kannst du deine Daten sortieren
End Sub
Private Sub auto_open()
Worksheets("A").OnDoubleClick Auswahl
End Sub
Private Sub Auswahl()
Dim zeile As Long
Dim spalte As Long
Dim blatt As String
zeile = Application.Caller.Row
spalte = Application.Caller.Column
blatt = Application.VBE.SelectedVBComponent.Name
Worksheets("Auswahl").Select
Worksheets("Auswahl").Cells(1, 1).Value = zeile
Worksheets("Auswahl").Cells(1, 2).Value = spalte
Worksheets("Auswahl").Cells(1, 3).Value = blatt
Worksheets(blatt).Select
End Sub
Speichere dein Projekt und teste das Makro, indem du einen Doppelklick auf eine Zelle in Blatt "A" machst.
Problem: Der Name des Arbeitsblatts wird als "Tabelle4" angezeigt.
Application.VBE.SelectedVBComponent.Name
kannst du Application.Caller.Worksheet.Name
verwenden, um den tatsächlichen Namen des Arbeitsblattes zu erhalten.Problem: Makro funktioniert nicht wie erwartet.
Eine alternative Methode zur Verwendung von Application.Caller
ist die Verwendung von Worksheet-Ereignissen, die die angeklickte Zelle übergeben. Hier ist ein Beispiel:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim zeile As Long
Dim spalte As Long
zeile = Target.Row
spalte = Target.Column
' Weitere Aktionen hier
End Sub
Diese Methode ist besonders nützlich, wenn du auf bestimmte Zellen reagieren möchtest, ohne ein separates Makro zu verwenden.
Zelleninhalt in ein anderes Blatt übertragen: Wenn du einen Doppelklick auf eine Zelle machst, kannst du deren Inhalt in ein anderes Blatt übertragen:
Private Sub Auswahl()
Worksheets("Zielblatt").Cells(1, 1).Value = Application.Caller.Value
End Sub
Informationen über die angeklickte Zelle sammeln: Du kannst auch zusätzliche Informationen wie die Adresse der Zelle erfassen:
Dim adresse As String
adresse = Application.Caller.Address
Worksheets("Auswahl").Cells(2, 1).Value = adresse
Application.Caller.Address
-Eigenschaft, um die genaue Adresse der Zelle zu erhalten, die das Makro aufgerufen hat.Worksheet_Change
oder Worksheet_SelectionChange
, um die Interaktivität deiner Excel-Anwendung zu erhöhen.VBE
-Objekte zu verwenden, da dies die Lesbarkeit deines Codes beeinträchtigen kann. Halte deinen Code sauber und verständlich.1. Was ist Application.Caller
?
Application.Caller
ist eine VBA-Eigenschaft, die dir erlaubt, Informationen über die Zelle zu erhalten, die ein Makro oder eine Funktion aufgerufen hat.
2. Wie kann ich die Zeilennummer und Spaltennummer mit Application.Caller
abfragen?
Du kannst die Zeilennummer mit Application.Caller.Row
und die Spaltennummer mit Application.Caller.Column
abfragen.
3. Funktioniert Application.Caller
in allen Excel-Versionen?
Ja, Application.Caller
ist in den meisten modernen Excel-Versionen verfügbar, die VBA unterstützen. Achte darauf, dass Makros aktiviert sind.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen