Office: Tabellen Blatt Name in Tabellenblatt

Helfe beim Thema Tabellen Blatt Name in Tabellenblatt in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen! Ich habe das Problem, ich benötige im VBA Teil des jeweiligen Tabellenblatts den Namen des selbigen ohne dabei direkt auf dieses... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von andysmith, 18. September 2012.

  1. andysmith Erfahrener User

    Tabellen Blatt Name in Tabellenblatt


    Hallo zusammen!

    Ich habe das Problem, ich benötige im VBA Teil des jeweiligen Tabellenblatts den Namen des selbigen ohne dabei direkt auf dieses wechseln zu müssen via Activate, da dieses auch schon auf ein Ereignis läuft was zu dem Zeitpunkt nicht erwünscht ist.
    Der Grund ist eine weitergabe von Parametern an eine Function. Derzeit habe ich das über den Index gelöst, der aber durch verschieben des Blattes auch zu einem Fehler führen wird
    Über das Target sollte man eigentlich herankommen aber auch hier scheitere ich derzeit kläglich den Sheetnamen des Targets auszulesen.
    Um das noch deutlich zu machen, ich befinde mich nicht in einem allgemeinen Modult sondern im Modul des jeweiligen Worksheets um dort auf die Action im Blatt zu reagieren

    Code:
    Option Explicit
    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim wbkDasHier As Workbook, intLetzteSpalte As Integer, rng As Range
    Dim rngBereich As Range, Zelle As Range, bytUebSchrZeil As Byte, lngSteuSpalte As Long
    Set wbkDasHier = ThisWorkbook
    Application.ScreenUpdating = False
    With wbkDasHier.Sheets(3)
    Call fncSuche_Definition(wbkDasHier.Sheets(3), "Steuerung", rng)
    ...
      intLetzteSpalte = .UsedRange.SpecialCells(xlLastCell).Column
                Set rngBereich = .Range(.Cells(bytUebSchrZeil + 1, lngSteuSpalte), .Cells(.UsedRange.Rows.Count + 1, lngSteuSpalte))
                If Not Intersect(Target, rngBereich) Is Nothing Then
    ...
    End With
    
    Vielen Dank für die Hilfe!

    Andysmith
     
    andysmith, 18. September 2012
    #1
  2. Beverly
    Beverly Erfahrener User
    Hi Andy,

    wenn du im Change-Ereignis arbeitest, muss das Tabellenblatt doch nicht aktivert werden, denn es ist ja das aktive - also ActiveSheet

    Bis später,
    Karin
     
  3. andysmith Erfahrener User
    nee nee nee :-(
    machen wir das anders. Ich habe in dem sheet eine Variable nennen wir sie strNameBlatt

    nun möchte ich auf diese Variable dort den Namen des Blatts speichern. Der Grund ist immer noch die weitergabe des Sheet Namens an eine Funktion aus der ich wieder hier mit dem Rückgabe Ergebnis das ich ja ByRef bekomme weiter arbeiten kann. Es wäre vollkommen unsinnig den Funktionsinhalt mit in den Teil zu übernehmen um dort dann global damit zu arbeiten.
    Ich hoffe ich habe mich jetzt etwas besser ausgedrückt.

    Ich habe es derzeit etwas anders gelöst.
    Aus dem Blatt raus in diese Arbeitsmappe mit folgendem Auslöser
    Private Sub Workbook_SheetChange(ByVal sh As Object, ByVal Target As Range)

    Damit bin ich zwar dann gefordert über sh.Name den Bestandteil des Namens abzufragen um dann entsprechend zu reagieren....

    wenn nix hilft dann halt so...

    Ich lasse aber die Frage immer noch so offen im Raum stehen.
    wobei ich immer noch davon ausgehe, das im Target As Range Object irgendwo auch diese Quelle hinterlegt sein sollte.
     
    Zuletzt bearbeitet: 18. September 2012
    andysmith, 18. September 2012
    #3
  4. fette Elfe Erfahrener User

    Tabellen Blatt Name in Tabellenblatt

    Hallo andysmith,

    wenn Du im Modul des jeweiligen Blattes bist, und eh ein Ereigniss benutzt, dann könntest Du z.Bsp. so:
    Code:
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    
    Dim strNameBlatt As String
    
    strNameBlatt = Me.Name
    
    End Sub
    den Blattnamen an eine Variable übergeben.

    Die Frage ist allerdings, wann und wo benötigst Du diese Variable?
    Im gleichen Modul nur in einer anderen Prozedur? Dann würde es reichen die Variable nicht im Ereignis, sondern ganz oben im Deklarationsteil zu deklarieren, und im Ereignis dann mit einem Wert zu belegen.

    Benötigst Du den Wert aber in einem ganz anderen Modul, dann würde ich in diesem anderen Modul oben im Deklarationsteil diese Variable als "Public strNameBlatt As String" deklarieren (das geht nicht in Modulen von Blättern).
    Dann kann diese Variable in jedem Modul des Projektes benutzt werden, sprich in der Ereignisprozedur gibst Du der Variable einen Wert, und in allen anderen Modulen und Prozeduren kannst Du diesen Wert dann wieder aufrufen.


    Ich hoffe geholfen zu haben.


    Ergänzung:
    Wenn Du unbedingt mit "Target" arbeiten möchtest, dann sollte auch sowas gehen:
    Code:
    strNameBlatt = Target.Parent.Name
     
    Zuletzt bearbeitet: 18. September 2012
    fette Elfe, 18. September 2012
    #4
  5. Beverly
    Beverly Erfahrener User
    Hi,

    es ist weder Me.Name noch Target.Parent.Name erforderlich. Wie ich schon geschrieben habe - wenn man mit dem Change-Ereignis (so wie im Ausgangsbeitrag vorgegeben) arbeitet, ist es immer das aktive Blatt und es reicht ActiveSheet:

    Code:
    Private Sub Worksheet_Change(ByVal Target As Range)
       MsgBox ActiveSheet.Name
    End Sub
    Anstelle der MsgBox kann man ActiveSheet oder Activesheet.Name auch an eine Varibale übergeben, die man je nach Verwendungszweck als Public in einem allgemeinen Modul oder per Dim im Codemodul des Tabellenblattes (jedoch außerhalb der Prozedur) definiert oder aber man übergibt es direkt an die Funktion bei deren Aufruf.

    Bis später,
    Karin
     
  6. andysmith Erfahrener User
    @fette Elfe vielen Dank für beide Lösungen genau das was ich gesucht hatte!! Ergeben nach genauere Betrachtung aus der Formulierung auch den Sinn :-)

    @Beverly wie ich schon vorher versucht hatte zu bemerken, hat die Formulierung activesheet immer die "Vorraus Aktivierung" des jeweiligen Blattes, was wiederum vermieden werden muss, da ich eine Aktion bei Workbook_SheetDeactivate habe, die dann wieder eine zu dem Zeitpunkt nicht gewollte Aktion mit Ja/nein Abfrage enthält :-)
    Hier kann es aber sein, das der User gar keine Berechtigung für dieses Blatt hat und nur das Hauptblatt mit den Ergebnissen sieht die aber in seinen Bestandteilen aus diesem Blatt kommen. Also fehlt hier die Aktion des ich bin auf diesem Blatt aktiv, während die Daten aus der DB da trotzdem einfließen....

    Hängt alles mit dem DB "Gedöns" aus der heutigen Frage zusammen.... :-)

    Vielen Dank an Euch!!!!!!!
     
    Zuletzt bearbeitet: 22. September 2012
    andysmith, 22. September 2012
    #6
Thema:

Tabellen Blatt Name in Tabellenblatt

Die Seite wird geladen...
  1. Tabellen Blatt Name in Tabellenblatt - Similar Threads - Tabellen Blatt Name

  2. Resultat aus Filter in zweiten Tabellen Blatt filtern

    in Microsoft Excel Hilfe
    Resultat aus Filter in zweiten Tabellen Blatt filtern: Hallo zusammen Ich habe zwei Tabellenblätter mit div. Spalten. Wenn ich in der ersten Tabelle nach ACCT Filter, erhalte ich die Projektnummern welche zu diesem Account gehören. [ATTACH] Nun würde...
  3. Bereichs-Namen auf anderen Tabellen-Blättern

    in Microsoft Excel Hilfe
    Bereichs-Namen auf anderen Tabellen-Blättern: Hallo, unten stehender Code funktioniert einwandfrei, solange die Bereichs-Namen auf einem Tabellen-Blatt sind. Wenn ich das Makro auf einem anderen Blatt zB. (Ausgabe) ausführe, kommt eine...
  4. Wenn in Zeile bestimmter Wert dann ganze Zeile in anderes Tabellen Blatt Kopieren.

    in Microsoft Excel Hilfe
    Wenn in Zeile bestimmter Wert dann ganze Zeile in anderes Tabellen Blatt Kopieren.: Hallo, habe zwei Probleme wo ihr mir sicher helfen könnt: 1) Wenn in Zelle A2 ein bestimmter Wert steht (PWM), dann soll die ganze Zeile in ein extra dafür angelegtes Tabellen Blatt (PWM)...
  5. Tabellen im gesperrten Blatt erweitern

    in Microsoft Excel Hilfe
    Tabellen im gesperrten Blatt erweitern: Hey, wenn ich über "Als Tabelle formatieren" einen bestimmten bereich auswähle (Beispiel: A1:C20) und anschließend in Zelle A21 etwas reinschreibe, wird die Tabellenformatierung automatisch um die...
  6. In Excel 2 Blätter mit Formeln kopieren in 2 neue Blätter (Formeln übernehmen)

    in Microsoft Excel Hilfe
    In Excel 2 Blätter mit Formeln kopieren in 2 neue Blätter (Formeln übernehmen): Hallo liebes Forum, ich wollte mal fragen, ob Ihr eine Lösung für mein Excel Problem habt. Es geht um folgendes: In Excel habe ich eine Tabelle "Costsheet" erstellt mit Formeln und...
  7. Excel Blatt mit verschiedenen Ansichten in Word einfügen

    in Microsoft Word Hilfe
    Excel Blatt mit verschiedenen Ansichten in Word einfügen: Hey alle zusammen, für ein Versuchsaufbau möchte ich in einem Word Dokument mehrfach dieselbe Excel Tabelle einfügen. Dabei sollten verschiedene Teile der Tabelle angezeigt werden. Wie im...
  8. Blätter mit Namen aus Tabellen aufrufen, Filter mit Tabellenname

    in Microsoft Excel Hilfe
    Blätter mit Namen aus Tabellen aufrufen, Filter mit Tabellenname: Hallo Zusammen, ich benötige noch einmal Hilfe... Und zwar habe ich aus einer Liste (in dem Blatt "Einlesen") Tabellenblätter generieren lassen. Diese neuen Tabellenblätter heißen so, wie die...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden