Office: Über Userform ein Tabellenblatt suchen

Helfe beim Thema Über Userform ein Tabellenblatt suchen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hall zusammen. Ich habe eine Mappe mit vielen Tabellenblättern zum teil sichbar zum teil nicht sichtbar. Nun suche ich eine Userform mit der ich... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von Blacky1980, 17. September 2012.

  1. Blacky1980 Erfahrener User

    Über Userform ein Tabellenblatt suchen


    Hall zusammen.

    Ich habe eine Mappe mit vielen Tabellenblättern zum teil sichbar zum teil nicht sichtbar. Nun suche ich eine Userform mit der ich nach den Tabellenblattnamen suchen kann, die immer ausgeblendet sind, und er mir diese dann auf macht. Jedes Blatt bekommt automatisch das Datum als Zahl zugeordnet. Wenn ich nun die Zahle in der Userform eingebe oder Scanne soll er mir das Blatt direkt anzeigen und wenn ich das Blatt verlasse es wieder verschwinden lassen.


    Wie kann ich das machen?


    Danke


    Gruß Michael
     
    Blacky1980, 17. September 2012
    #1
  2. Beverly
    Beverly Erfahrener User
    Hi Michael,

    erstelle ein UserForm mit einer ListBox und schreibe ins Codemodul des UserForms diesen Code:
    Code:
    Private Sub UserForm_Activate()
       Dim wksTab As Worksheet
       ' alle ausgeblendeten Tabellenblätter in die ListBox einlesen
       For Each wksTab In Worksheets
          If wksTab.Visible = xlSheetHidden Then ListBox1.AddItem wksTab.Name
       Next wksTab
    End Sub
    
    Private Sub ListBox1_Click()
       Dim strTabelle As String
       ' angeklickten Inhalt der ListBox auf die Variable schreiben
       strTabelle = ListBox1
       ' Tabellenblatt (welches in der ListBox angeklickt wurde) einblenden und aktivieren
       Worksheets(strTabelle).Visible = xlSheetVisible
       Worksheets(strTabelle).Activate
    End Sub
    Beim Starten des UserForms werden alle ausgeblendeten Tabellenblätter in der ListBox aufgelistet. Sobald du einen Tabellenblattnamen anklickst, wird dieses eingeblendet.

    Kopiere außerdem den folgenden Code ins Codemodul DieseArbeitsmappe:

    Code:
    Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
       Select Case Sh.Name
          ' hier müssen alle ausgeblendeten Tabellenblätter aufgeführt sein
          Case "Tabelle2", "Tabelle4", "Tabelle6"
             ' das betreffende Tabellenblatt beim Deaktivieren wieder ausblenden
             Sh.Visible = xlSheetHidden
       End Select
    End Sub
    Sobald das aufgeführte Tabellenblatt deaktiviert wird, wird es ausgeblendet.

    Biss päter,
    Karin
     
  3. Blacky1980 Erfahrener User
    Hallo Karin.

    Danke für die Hilfe ich möchte keine Listbox haben den es sind dann einfach zuviele Tabellen die da gelistet werden. Einfach nur eine TextBox wo ich die Nummer eingeben oder Einsannen kann und dann soll nach der Nummer gesucht werden. Wenn das Ballt nicht da ist weill es vieleicht wieder gelöscht worden ist dann eine Meldung! Blatt nicht gefunden!.

    Zu Deinem anderen Code. es ist jedes mal eine andere Nummer die das Tabellenblatt bekommt und ich kann nicht genau sagen wie die nummer jedesmal sind. Wenn ich das Tabellenblatt kopiert habe wird es auch ausgedruckt und dann habe ich einen Barcode drauf den ich dann scanne und dann soll das Tabellenblatt auf gehen.

    Aber vielen Dank für die Hilfe


    Gruß Michael
     
    Blacky1980, 18. September 2012
    #3
  4. Beverly
    Beverly Erfahrener User

    Über Userform ein Tabellenblatt suchen

    Hi Michael,

    in einem allgemeinen Modul dieses Makro, welches du (irgendwie) starten musst:

    Code:
    Option Explicit
    Public wksTab As Worksheet
    Public strTab As String
    
    Sub TabellenEinblenden()
       Dim blnVorhanden As Boolean
       strTab = InputBox("Bitte Tabellenname eingeben")
       If strTab <> "" Then
          For Each wksTab In Worksheets
             If wksTab.Name = strTab Then
                blnVorhanden = True
                If wksTab.Visible = xlSheetHidden Then
                   Worksheets(wksTab.Name).Visible = True
                   Worksheets(wksTab.Name).Activate
                   Exit For
                End If
             End If
          Next wksTab
          If Not blnVorhanden Then
             MsgBox "Tabelle nicht vorhanden"
          End If
       End If
    End Sub
    Wie du den Barcode in die TextBox bekommst weiß ich nicht - damit kenne ich mich nicht aus. Im Code muss der gesuchte Tabellenname von Hand eingegeben werden.

    Und im Codemodul DieseArbeitsmappe diesen Code:

    Code:
    Option Explicit
    
    Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)
       If Not wksTab Is Nothing Then
          If strTab <> "" Then
             If Sh.Name = strTab Then wksTab.Visible = xlSheetHidden
          End If
       End If
    End Sub
    Bis später,
    Karin
     
    Zuletzt bearbeitet: 18. September 2012
  5. Blacky1980 Erfahrener User
    Hallo karin.

    Danke für die hilfe.

    der erste Code ist perfekt.

    Beim zweiten bekomme ich immer eine Fehlermeldung:

    Fehler beim Kompilieren:

    Variable nicht definiert

    gelb hinterlegt ist "Private Sub Workbook_SheetDeactivate(ByVal Sh As Object)"

    Makiert ist dann wksTab


    Es sollen ja nur Tabellenblätter ausgeblendet werden die neue erstellt sind die haben auch nur nummer bzw. Zahlen. Ich denke Angefagen von 15000 bis 16000 oder auch mehr. Es wir ein tabellenblatt kopiert das bekommt dann automatisch ein Nummer aus einer Zeile das mach ich mit diesem Code.

    Code:
    Private Sub CommandButton1_Click()
    Sheets("Maschinenkarte").Unprotect pw
    'Range("M53") = Range("M53") + 0
    ActiveSheet.Copy After:=Sheets(ThisWorkbook.Sheets.Count)
    
    
    ActiveSheet.name = "" & Sheets("Maschinenkarte").Range("M53").Text
        Sheets("Maschinenkarte").Protect pw
        ActiveSheet.Select
        'ActiveWindow.SelectedSheets.Visible = False
    End Sub
    
    Wenn ich nun das neuerstellte Blatt verlasse möchte ich das es Ausgebledet wird. Allen anderen Blätte die Ein-, bzw. Ausgeblendet sind sollen genau so bleiben.

    Danke


    Gruß Michael
     
    Blacky1980, 18. September 2012
    #5
  6. Beverly
    Beverly Erfahrener User
    Hi Michael,

    zu Teil 1 deines Beitrages: du hast meinen Code, so wie ich im vorhergehenden Beitrag geschrieben habe, in ein allgemeines Modul kopiert? Oder hast du den Code nicht komplett kopiert?

    zu Teil 2 deines Beitrages:

    Wozu benötigst du dann den Code mit der InputBox? Sorry, aber ich verstehe nicht, was du erreichen willst.

    Bis später,
    Karin
     
  7. Blacky1980 Erfahrener User
    Hallo Karin.

    Also zu Deiner Frage. Ja habe ich.

    Ich habe es gerade nochmal versucht und nun klappt es genau so wie ich es wollte.

    Zu Deiner Frage

    Die ganze Tabelle nennt sich Maschinen Verwaltung und da wo ich arbeite muß ich die maschinen zum laufen bekommen. Wenn ich nun eine Maschine anlege erstelle ich mir einen Maschinenkarte und wenn ich was dran machen muß rufe ich mir diese auf. Nur wenn ich alle Einblende finde ich nichts mehr darum sollen die nach dem Drucken und anzeigen wieder weg. Wenn das Blatt mal verloren geht kann ich es neu Drucken. Ich werde Dir mal einen Link schicken wo Du Dir die Mappe mal anschauen kannst werde auch die passwörtet alle raus machen bzw. auf test setzen.

    Aber ich Danke Dir vielmals für die Hilfe bist echt der Hammer wie Du das kannst.


    Gruß Michael
     
    Blacky1980, 18. September 2012
    #7
Thema:

Über Userform ein Tabellenblatt suchen

Die Seite wird geladen...
  1. Über Userform ein Tabellenblatt suchen - Similar Threads - Über Userform Tabellenblatt

  2. VBA Code Tabellenblatt kopieren und UserForm

    in Microsoft Excel Hilfe
    VBA Code Tabellenblatt kopieren und UserForm: Hallo, ich hoffe mir kann jemand helfen. Schon mal vielen Dank für die Unterstützung. Folgende Thematik: In dem Blatt 1 ist ein ComandButton. Mit Klick soll über VBA folgendes abgefragt...
  3. Daten aus UserForm in Tabellenblatt übertragen

    in Microsoft Excel Hilfe
    Daten aus UserForm in Tabellenblatt übertragen: Hallo zusammen, wieder eine Anfängerfrage. Ich habe eine Userform, deren Daten über einen CommandButton zum Teil in zwei Tabellenblätter übertragen werden. Wie kann ich es verhindern, dass dabei...
  4. Eingabe über Userform und mehrere Tabellenblätter

    in Microsoft Excel Hilfe
    Eingabe über Userform und mehrere Tabellenblätter: Hallo , ich hoffe das ich bei dieser Tabelle Hilfe von Euch bekomme. Ich habe eine Tabelle mit mehreren Blättern und eine Eingabemaske. Die Seiten werden von der Startseite ausgewählt ( Command...
  5. Userform mit Tabellenblatt öffnen

    in Microsoft Excel Hilfe
    Userform mit Tabellenblatt öffnen: Liebe VBA Profi`s, Nach langem Suchen im Netz, kam ich zu keiner richtigen Lösung. Ich habe eine Excel-Datei mit 12 Tabellenblätter (Jänner -Dezember). Jedes Tabellenblatt hat eine Userform. Ich...
  6. Tabellenblatt in UserForm anzeigen um einzelne Zeilen in ein weiteres Tabelleblatt zu

    in Microsoft Excel Hilfe
    Tabellenblatt in UserForm anzeigen um einzelne Zeilen in ein weiteres Tabelleblatt zu: Hallo zusammen Ich stehe am Berg! Ich habe eine bestehende Excelmappe. Habe mir alles aus dem Netz zusammengeschustert. Aktuell generiere ich pro Kalenderwoche ein Tabellenblatt (für ein Jahr) -...
  7. Diagramm aus Tabellenblatt in Userform als Bild anzeigen lassen

    in Microsoft Excel Hilfe
    Diagramm aus Tabellenblatt in Userform als Bild anzeigen lassen: Guten Tag Liebe VBA Profis, ich brauche eure Hilfe.. *frown.gif* Ich habe in der Tabelle5 eine Tabelle mit Werten und ein Diagramm ("Diagramm 1". Ich möchte nur das Diagramm auf dem...
  8. Excel 2010: VBA: Userform - Checkbox - nur ausgewählte Tabellenblätter drucken

    in Microsoft Excel Hilfe
    Excel 2010: VBA: Userform - Checkbox - nur ausgewählte Tabellenblätter drucken: Hallo zusammen, ich habe eine Exceltabelle mit 5 Tabellenblättern ("Deckblatt", "Arbeitnehmer", "Arbeitgeber", "Details", "Vertrag") Ich rufe den Druckvorgang in einer Userform auf...
  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