Office: Tabelle variabel in VBA einbauen

Helfe beim Thema Tabelle variabel in VBA einbauen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, folgendes Problem kann ich mit meinen spärlichen VBA-Kenntnissen nicht lösen: Meine Arbeitsmappe besteht aus mindestens drei... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von aal260646, 9. Januar 2015.

  1. aal260646 Erfahrener User

    Tabelle variabel in VBA einbauen


    Hallo zusammen,

    folgendes Problem kann ich mit meinen spärlichen VBA-Kenntnissen nicht lösen:
    Meine Arbeitsmappe besteht aus mindestens drei Tabellenblättern. Eines davon heißt "50000", eines "50001".
    Blatt "50001" ist für meine Frage uninteressant. Ich habe es nur der Vollständigkeit halber erwähnt.
    Blatt "50000" ist eine Art Mustertabelle, aus der Bereiche kopiert werden sollen.
    Das dritte Tabellenblatt, sowie alle möglichen weiteren Tabellenblätter werden automatisch entsprechend ihrem Eintrag in der jeweiligen Zelle "H3" benannt. Im Laufe der Bearbeitung durch den Sachbearbeiter sollen nun Bereiche aus dem Tabellenblatt "50000" per Schaltfläche in das jeweils aktive (und nach Zelle "H3" benannte) Blatt kopiert werden.
    Blatt "50000" dafür zu benennen ist kein Problem. Wenn das aktive Blatt unmittelbar davor oder dahinter liegt habe ich auch kein Problem. Die Reihenfolge der Blätter kann aber variieren, so dass ich nicht das vorherige oder nachfolgende Blatt angeben kann.

    Gibt es die Möglichkeit, den Code so zu ändern, dass ich nicht einen festen Tabellennamen eintrage, sondern ihn ebenfalls in Abhängigkeit der Zelle "H3" des jeweils aktiven Tabellenblattes bringe?

    Im voraus bedanke ich mich schon einmal.

    Beste Grüße
    Christian
     
    aal260646, 9. Januar 2015
    #1
  2. Beverly
    Beverly Erfahrener User
    Hi Christian,

    so richtig verstehe ich nicht was du da machen willst. Vielleicht kannst du ja mal eine abgespeckte Version deiner Mappe mit ein paar wenigen (anonymisierten) Daten/Tabellenblättern hochladen.

    Bis später,
    Karin
     
    Beverly, 9. Januar 2015
    #2
  3. aal260646 Erfahrener User
    Hallo Karin,
    das geht leider nicht, da zerhacke ich die Datei mit.

    Ich versuche es noch einmal mit anderen Worten:

    Ich habe eine Date mit einer beliebigen Anzahl an Tabellenblättern, die ihren eigenen Namen aus der eigenen Zelle "H3" beziehen. Sollte in Zelle "H3" also "X" stehen, so heißt auch das eine Tabellenblatt so. Jedes dieser Tabellenblätter mit dem potenziellen Namen "X" beinhaltet eine Schaltfläche, die einen Code startet, mit dem Daten aus dem Tabellenblatt "50000" in genau das Tabellenblatt kopiert werden, in dem sich die Schaltfläche befindet.

    Mein Problem ist nun in dem Code klarzustellen, welches Tabellenblatt das ist (weil ja der Name des Tabellenblattes durch den Zellbezug variabel ist).

    Vielleicht war das verständlicher. Wenn nicht, versuche ich es gerne noch einmal anders. :)

    Beste Grüße

    Christian
     
    aal260646, 9. Januar 2015
    #3
  4. Beverly
    Beverly Erfahrener User

    Tabelle variabel in VBA einbauen

    Hi Chsitian,

    benutze in deinem Code ActiveSheet.Name

    Bis später,
    Karin
     
    Beverly, 9. Januar 2015
    #4
  5. miriki Erfahrener User
    Moinsens!

    Beverly hat es schon erwähnt: "Activesheet" ist hier wahrscheinlich Dein Freund, obwohl Du nach Deiner Beschreibung mindestens eine weitere Möglichkeit hast.

    Grundlegend willst du ja Bereiche von einem auf ein anderes Blatt kopieren. Das wäre dann z.B.
    Code:
    ws1.Range(Bereich1).copy destination:= ws2.Range(Bereich2)
    Bereich1 und Bereich2 sollten klar sein: Der Bereich auf Blatt "50000", der kopiert werden soll und der Bereich auf dem aktuellen Blatt, in den das eingefügt werden soll. Bei mehreren Bereichen hast Du entsprechend mehrere solcher Zeilen. (Der Zielbereich kann dabei auch nur aus der linken oberen Zelle bestehen, muß nicht genau so groß wie der Quellbereich sein.)

    Der springende Punkt sind die Variablen ws1 und ws2: Die repräsentieren die Blätter und werden deklariert als
    Code:
    Dim ws1 as Worksheet
    Dim ws2 as Worksheet
    Und jetzt mußt du nur noch sagen, welche Blätter es sind. Beim 1. ist es einfach, da der Name "50000" bekannt ist. Beim 2. kannst Du Activesheet benutzen. Alternativ kannst Du auch Zelle H3 auslesen, was ich aber nicht empfehlen würde.
    Code:
    Set ws1 = Worksheets("50000")
    Set ws2 = Activesheet
    Es ginge auch:
    Code:
    Set ws2 = Worksheets(Activesheet.Name)
    oder
    Code:
    Set ws2 = Worksheets(Range("H3").Value)
    Als Beispiel mal alles zusammen könnte es so aussehen:
    Code:
    Private Sub Kopieren()
    
        Dim ws1 as Worksheet
        Dim ws2 as Worksheet
    
        Set ws1 = Worksheets("50000")
        Set ws2 = Activesheet
    
        ws1.Range("C3:E5").Copy destination:= ws2.Range("G7")
    
    End Sub
    Gruß, Michael
     
Thema:

Tabelle variabel in VBA einbauen

Die Seite wird geladen...
  1. Tabelle variabel in VBA einbauen - Similar Threads - Tabelle variabel VBA

  2. Schriftart einer Tabelle im Unterformular verändern

    in Microsoft Access Hilfe
    Schriftart einer Tabelle im Unterformular verändern: Hallo, wie kann ich die Schriftart einer Tabelle ( Datenblatt ) im Unterformular verändern. Also nicht Global für alle! Mit freundlichen Grüßen
  3. Tabellenränder beim Druck ausblenden

    in Microsoft Word Hilfe
    Tabellenränder beim Druck ausblenden: Hallo zusammen, in meiner Vorlage habe ich eine Adressbox mit 2 Spalten und 3 Zeilen, sowie als Fußzeile eine Tabelle mit 4 Spalten und 3 Zeilen eingefügt. Zur besseren Orientierung möchte ich...
  4. 2 Tabellen nach bestimmten Kriterien synchronisieren

    in Microsoft Excel Hilfe
    2 Tabellen nach bestimmten Kriterien synchronisieren: Ich habe 2 identische Excel Dokumente -TB1 und TB2 haben gleiches Layout/ bedingte Formatierungen und Formeln enthalten -in TB1 Pflege ich alle Daten täglich (meine Daten) (mehrere Sheets) -in...
  5. Zusammenfassen von Tabellen

    in Microsoft Excel Hilfe
    Zusammenfassen von Tabellen: Guten Morgen zusammen, ich habe folgendes Problem bei dem ich nicht weiterkomme. Ausgangs Situation ist: Es gibt mehrere Tabellen mit Bestellungen z.b. so: Tabelle 1 = Bestellung1; Tabelle 2 =...
  6. Intelligente Tabelle Filter fixieren

    in Microsoft Excel Hilfe
    Intelligente Tabelle Filter fixieren: Moin, ich habe eine Tabelle wo ich eine Intelligente Tabelle von gemacht habe. Dann habe ich den dazu gehörigen Filter eingestellt. Wenn ich jetzt etwas Filtere, wird das Filterfenster auch...
  7. Datenübernahme in andere Tabelle ohne Leerzeilen, Anfänger

    in Microsoft Excel Hilfe
    Datenübernahme in andere Tabelle ohne Leerzeilen, Anfänger: Hallo, Auch wenn dieses Thema schon mehrere Male gepostet wurde, hab ich dennoch ein Probelm damit. Ich möchte Werte aus einer Tabelle in eine andere auflisten. Die ausgangs Tabelle enthält...
  8. Verschiedene Tabellen variabel ausgeben lassen

    in Microsoft Excel Hilfe
    Verschiedene Tabellen variabel ausgeben lassen: Hallo, liebe Helferlein :-) Ich bin in einer vertrackten Situation, die mich dazu bewegt hat, hier nach Hilfe zu suchen. Folgendes lässt mich kaum mehr ruhig sitzen: Es sei ein Tabellenblatt...
  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