Ich habe auf einem extra Tabellenblatt eine Tabelle
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim lngEingabezeile As Long, lngAusgabezeile As Long
If Target.Address = "$A$1" Then
With Application
.EnableEvents = False
.ScreenUpdating = False
End With
lngAusgabezeile = 4
Range(Cells(5, 1), Cells(65536, 256)).ClearContents
With Worksheets("Tabelle2")
For lngEingabezeile = 1 To .Cells(65536, 1).End(xlUp).Row
If .Cells(lngEingabezeile, 1) = Target.Value Then
lngAusgabezeile = lngAusgabezeile + 1
Range(Cells(lngAusgabezeile, 1), Cells(lngAusgabezeile, 256)).Value = _
.Range(.Cells(lngEingabezeile, 1), .Cells(lngEingabezeile, 256)).Value
End If
Next
End With
Beep
With Application
.EnableEvents = True
.ScreenUpdating = True
End With
End If
End Sub
Um eine Excel-Tabelle in einem anderen Blatt anzuzeigen, folge diesen Schritten:
Vorbereitung der Tabelle: Stelle sicher, dass deine Tabelle in einem Arbeitsblatt korrekt formatiert ist. Füge über der ersten Zeile eine Überschrift hinzu, wenn du einen Autofilter verwenden möchtest.
Aktivierung des Autofilters:
Daten
in der Menüleiste und wähle Filter
> Autofilter
.Erstellen des Zielblatts:
Code anzeigen
aus dem Kontextmenü.Einfügen des VBA-Codes:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)
Dim lngEingabezeile As Long, lngAusgabezeile As Long
If Target.Address = "$A$1" Then
With Application
.EnableEvents = False
.ScreenUpdating = False
End With
lngAusgabezeile = 4
Range(Cells(5, 1), Cells(65536, 256)).ClearContents
With Worksheets("Tabelle2") ' Ändere "Tabelle2" zu deinem Tabellenblattnamen
For lngEingabezeile = 1 To .Cells(65536, 1).End(xlUp).Row
If .Cells(lngEingabezeile, 1) = Target.Value Then
lngAusgabezeile = lngAusgabezeile + 1
Range(Cells(lngAusgabezeile, 1), Cells(lngAusgabezeile, 256)).Value = _
.Range(.Cells(lngEingabezeile, 1), .Cells(lngEingabezeile, 256)).Value
End If
Next
End With
Beep
With Application
.EnableEvents = True
.ScreenUpdating = True
End With
End If
End Sub
Anpassung des Codes: Achte darauf, den Namen "Tabelle2"
im Code durch den Namen deiner Datentabelle zu ersetzen.
Speichern und Schließen: Schließe den VBA-Editor und speichere deine Arbeit.
Fehler: Die Zelle A1 wird nicht erkannt.
Stelle sicher, dass die Zelle A1 auf dem Zielblatt korrekt referenziert wird und dass du den Autofilter aktivierst, bevor du den Code ausführst.
Fehler: Die gefilterten Daten erscheinen nicht.
Überprüfe, ob der Code korrekt eingefügt wurde und dass der Blattname im Code mit dem deiner Tabelle übereinstimmt.
Eine einfache Methode, um Daten in einem anderen Blatt anzuzeigen, ist die Verwendung der =FILTER()
-Funktion, die in neueren Excel-Versionen verfügbar ist. Hier ein Beispiel:
=FILTER(Tabelle2!A1:B10, Tabelle2!A1:A10=A1)
Diese Funktion zeigt alle Zeilen aus Tabelle2
an, die dem Suchkriterium in A1 entsprechen.
Angenommen, du hast eine Tabelle mit Verkaufsdaten in Tabelle2
und möchtest die Verkaufszahlen für ein bestimmtes Produkt in einem anderen Blatt anzeigen.
Verwende benannte Bereiche: Anstatt feste Zellreferenzen zu verwenden, kannst du benannte Bereiche nutzen, um den Code flexibler zu gestalten.
Nutze Datenvalidierung: Implementiere Dropdown-Listen in Zelle A1, um die Auswahl des Suchkriteriums zu erleichtern.
1. Kann ich den Code auch in Excel Online verwenden?
Der VBA-Code funktioniert nur in der Desktop-Version von Excel. Excel Online unterstützt keine Makros.
2. Muss ich den Autofilter aktivieren?
Der Autofilter ist nicht zwingend erforderlich, erleichtert jedoch die Auswahl der Daten und das Filtern in der Originaltabelle.
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