Office: Suche VBA Code um Registerkarte zu kopieren, umbenennen und ans Ende stellen

Helfe beim Thema Suche VBA Code um Registerkarte zu kopieren, umbenennen und ans Ende stellen in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo Forumgemeinde, ich habe mich jetz auch mal registriert, wiel ich mir hier schon des öffteren Hilfe holen konnte und nun an einem Problem... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von CaMa1511, 13. Mai 2012.

  1. CaMa1511 Erfahrener User

    Suche VBA Code um Registerkarte zu kopieren, umbenennen und ans Ende stellen


    Hallo Forumgemeinde,

    ich habe mich jetz auch mal registriert, wiel ich mir hier schon des öffteren Hilfe holen konnte und nun an
    einem Problem festtecke an dem ich nicht weiterkomme.

    Hier zu meinem Prob:

    Ich möchte via Makro eine Registerkarte kopieren. Dann soll eine
    Abfrage via Box nach dem Namen der neuen Karte kommen. der name der neuen karte soll immer mit dem aktuellen Datum
    vorgeschlagen werden in der Form "yyyy-mm-dd".

    Die neue Karte soll dann immer am Ende eingefügt werden.
    Dann noch ein ZUsatz:

    Wenn eine Registerkarte schon existiert soll eine Abfrage via Box kommen ob diese Regisrterkarte ersetzt werden soll?
    Bei der Antwort Ja soll die Karte dann ersetzt werden.


    Ich hoffe echt auf Eure HIlfe, komme iwie nicht weiter.

    Besten Dank und Gruß

    ccama
     
    CaMa1511, 13. Mai 2012
    #1
  2. Beverly
    Beverly Erfahrener User
    Hi,

    zeichne den Code für das Kopieren des Tabellenblattes, das Umbenennen und ans Ende-Stellen mit dem Markorekorder auf. Wenn du diesen Code dann hier postest, kann man ihn entsprechend um die Abfrage-Boxen erweitern.

    Bis später,
    Karin
     
    Beverly, 13. Mai 2012
    #2
  3. cpt. Nemo Erfahrener User
    Hallo ccama,

    ich habe mal ein paar Zeilen Code erstellt. Hierbei wird das aktive Register ( die aktuelle Tabelle) deinen Angaben gemäß kopiert. Füge den Code in ein Modul ein und führe ihn dann aus.
    Code:
    Option Explicit
    
    Sub BlattKopie()
       Dim strDatum
       Dim Register As Worksheet
       Dim bolShtVorhanden As Boolean
       Dim strNewName As String
       Dim bolErsetzen As Boolean
       Dim vntAntwort As Variant
       
       strDatum = Format(Date, "YYYY-MM-DD")
       ActiveSheet.Copy After:=Sheets(ActiveWorkbook.Sheets.Count)
       
       Do
          strNewName = InputBox("Name des neuen Registers", , strDatum)
          For Each Register In ActiveWorkbook.Sheets
             If Register.Name = strNewName Then
                bolShtVorhanden = True
                vntAntwort = MsgBox("Register existiert bereits," & vbCrLf _
                   & "soll das Blatt überschrieben werden?", _
                   vbQuestion + vbYesNo, "Sicherheitsabfrage")
                If vntAntwort = vbYes Then
                   bolErsetzen = True
                   Exit Do
                End If
             End If
          Next Register
          If Not bolShtVorhanden Then Exit Do
       Loop
       
       If bolErsetzen Then
          On Error Resume Next
          With Application
             .ScreenUpdating = False
             .DisplayAlerts = False
             Sheets(strNewName).Delete
             .DisplayAlerts = True
             .ScreenUpdating = True
          End With
       End If
       ActiveSheet.Name = strNewName
    End Sub
    Wenn du mehr als 100 Arbeitsblätter hast, lsst sich das Ganze noch etwas optimieren, aber für den Anfang sollte das reichen ...
     
    cpt. Nemo, 13. Mai 2012
    #3
  4. CaMa1511 Erfahrener User

    Suche VBA Code um Registerkarte zu kopieren, umbenennen und ans Ende stellen

    Also hier mal die Aufzeichnung. Ich arbeite mich grade etwas in vba ein, ich hoffe das passt so...
    Sub Makro1()
    '
    ' Makro1 Makro
    '

    '
    Sheets("Tabelle1").Select
    Sheets("Tabelle1").Copy After:=Sheets(3)
    Sheets("Tabelle1 (2)").Select
    Sheets("Tabelle1 (2)").Name = "2012-05-13"

    End Sub
     
    CaMa1511, 13. Mai 2012
    #4
  5. CaMa1511 Erfahrener User
    Wow vielen lieben DAnk für die schnellen Antworten!!

    Dein Code trifft es schon fast genau cap. Nemo....

    Wenn ich den code richtig lese wird hier immer tabelle1 (Register1) kopiert. Ich sillte immer nur bestimmte Register mit entsprecheden namen haben. zb. S1 FS, S2 FS, FS2 FS, FS5 FS insgesammt sollen das 4 Makros sein.
    Das ganze soll über ein Jahr quasi täglich mit neuem Register anlegen laufen. wenn du das noch optimieren kannst?

    Ich bin echt begeistert!!!
    DAnke!
     
    CaMa1511, 13. Mai 2012
    #5
  6. cpt. Nemo Erfahrener User
    Hallo ccama,

    sind die vier Basis-Tabellen in einer oder in vier Dateien (WorkBooks)? Wenn die in 1 WB sind, dann frage ich mich, warum der neue Tabellen-Name ohne jeglichen Zusatz der Herkunft ist. Allerdings würde das auch die Frage nach dem bereits vorhandenen WorkSheet mit dem Tagesdatum erklären ...
     
    cpt. Nemo, 13. Mai 2012
    #6
  7. CaMa1511 Erfahrener User
    das ganze ist in einer ecxeldatei, und die 4 unterschiedlichen register sollen nach unterschiedlichen wochen (gerade / ungerade) kopiert werden zb kw1 nimmt man makro S1 FS für die wochentage, für die Wochenendtage dann S4 FS, In KW 2 nimmt man dann immer für die wochentage S2 FS und am We S5 FS.....

    das ganze sind reporte die mit unterschiedlichen schichten zu tun haben. auf den eigentlichen blätern sind wiederum verweise aus einzelne schichten usw.....
     
    CaMa1511, 13. Mai 2012
    #7
  8. CaMa1511 Erfahrener User

    Suche VBA Code um Registerkarte zu kopieren, umbenennen und ans Ende stellen

    aso, ich habe die orginaldatei leider nicht hier sondern im geschäft.... sonst hätte ich heute morgen gleich meinen code mitgepostet.
    aber dein code ist eh schon weiter
     
    CaMa1511, 13. Mai 2012
    #8
  9. CaMa1511 Erfahrener User
    Also das ist jetzt mein bearbeiteter code...
    Ich habe noch paar änderungen gemacht.

    das unload me schließt ein eingabe Formular.
    Die Registervorlagen sind ausgeblendet, von daher lass ich die kopie einblenden.
    in zelle B3 soll immer das datum. naja eigl. soll da das selbe datum stehen wie die registerkarte aber das bekomm ich nicht hin....

    cap.nemo wenn du mir das noch optimieren kannst, weil ich überst jahr mehr als 100 Karten anlege oder sonst noch einen tipp hast, bin ich echt sehr dankbar!!

    sonnige Grüße
    cama

    Private Sub CommandButton1_Click()
    Unload Me
    Dim strDatum
    Dim Register As Worksheet
    Dim bolShtVorhanden As Boolean
    Dim strNewName As String
    Dim bolErsetzen As Boolean
    Dim vntAntwort As Variant
    strDatum = Format(Date, "YYYY-MM-DD")
    Sheets("S1 FS").Copy After:=Sheets(ActiveWorkbook.Sheets.Count)
    Range("B3").Value = Format(Date, "YYYY-MM-DD")
    ActiveSheet.Visible = True
    Do
    strNewName = InputBox("Name des neuen Tagesreports?", , strDatum)
    For Each Register In ActiveWorkbook.Sheets
    If Register.Name = strNewName Then
    bolShtVorhanden = True
    vntAntwort = MsgBox("Tagesreport existiert bereits," & vbCrLf _
    & "soll das Blatt überschrieben werden?", _
    vbQuestion + vbYesNo, "Sicherheitsabfrage")
    If vntAntwort = vbYes Then
    bolErsetzen = True
    Exit Do
    End If
    End If
    Next Register
    If Not bolShtVorhanden Then Exit Do
    Loop
    If bolErsetzen Then
    On Error Resume Next
    With Application
    ScreenUpdating = False
    DisplayAlerts = False
    Sheets(strNewName).Delete
    DisplayAlerts = True
    ScreenUpdating = True
    End With
    End If
    ActiveSheet.Name = strNewName
    End Sub
     
    CaMa1511, 14. Mai 2012
    #9
  10. cpt. Nemo Erfahrener User
    Ich werde erst am WE wieder Zeit finden, mich mit Coding und so zu befassen. Die 100 Blätter waren nur wegen der Zeit, wenn geprüft wird, ob das Blatt schon existiert ...
     
    cpt. Nemo, 15. Mai 2012
    #10
  11. CaMa1511 Erfahrener User
    Ich habe nun auch noch 2 Probs festgestellt.

    1. Wenn man bei der datumsabfrage auf Abbrechen klickt möchte Excel debuggen.
    2. Wenn ich gefragt werde ob ich ein Blatt überschreiben möchte und mit nein antworte, dann das Register umbenennen möchte, geht das nicht.
    Ich kann dann nur noch das aktuelle Blatt ersetzten sonst komme ich nicht mehr aus dem Eingabefeld raus....

    Wär cool wenn du am WE nochmal drüberschauen könntest^^

    Gruß
     
    CaMa1511, 15. Mai 2012
    #11
  12. cpt. Nemo Erfahrener User
    Hallo,

    es ist WE und ich kann dir leider derzeit nicht helfen. Familiäre Gründe lassen nicht zu, dass ich mich so konzentrieren kann, wie es sein sollte. Sorry. Ich denke, dass dir einige andere Helfer beiseite stehen können (ist ja nicht mehr viel und ich gebe es hiermit frei) oder am Pfingstwochenende ... In dem Fall bitte noch einmal erinnern!
     
    cpt. Nemo, 19. Mai 2012
    #12
  13. CaMa1511 Erfahrener User

    Suche VBA Code um Registerkarte zu kopieren, umbenennen und ans Ende stellen

    Hallo. ka klar, dann kümmer dich mal lieber um die family. und vielen dank!

    Falls mir sonst noch jemand weiterhelfen kann, die 2 probleme zu lösen?? wär echt super!

    Gruß
    cama1511
     
    CaMa1511, 19. Mai 2012
    #13
Thema:

Suche VBA Code um Registerkarte zu kopieren, umbenennen und ans Ende stellen

Die Seite wird geladen...
  1. Suche VBA Code um Registerkarte zu kopieren, umbenennen und ans Ende stellen - Similar Threads - Suche VBA Code

  2. Datei in mehreren Ordnern suchen und wenn gefunden öffnen?! Macro / VBA

    in Microsoft Excel Hilfe
    Datei in mehreren Ordnern suchen und wenn gefunden öffnen?! Macro / VBA: Hallo Leute, Hoffentlich könnt ihr mir hier helfen, ich krieg den Syntax einfach nicht hin (wahrscheinlich ist es auch totaler käse den ich programmiert habe). Also im Grunde soll eine Datei...
  3. Nach Wörtern in Textmarke suchen und Zeilen formatieren

    in Microsoft Word Hilfe
    Nach Wörtern in Textmarke suchen und Zeilen formatieren: Hallo! Es gibt ein Word Dokument mit mehreren Seiten Text. In diesem Dokument steht öfter das Wort "Anteil". In diesem Dokument gibt es auch mehrere Textmarken. In den Textmarken ist jeweils Text...
  4. Suche einen VBA-SQL Code um ein leeres Feld abzufragen...

    in Microsoft Access Hilfe
    Suche einen VBA-SQL Code um ein leeres Feld abzufragen...: Hallo, ich möchte aus einer Tabelle ein Feld abfragen ob es leer ist oder nicht. Es muss per SQL-VBA geschehen und eine Wenn-Dann Abfrage sein. Wer kann mir helfen? Beispiel: Wenn das Feld leer...
  5. Suche Hilfe beim VBA Code zum Daten übertragen

    in Microsoft Excel Hilfe
    Suche Hilfe beim VBA Code zum Daten übertragen: Hallo Leute, ich habe ein code um Daten von einem Tabellenblatt "Material & Kosten" in dieses tabellenblatt "Angebot" zu übertragen. Alles funktioniert Tadellos. Die Eintragungen sollen...
  6. Suche Hilfe bei einem VBA Code --> Prüfen ob Zelle Leer, dann Makro ausführen

    in Microsoft Excel Hilfe
    Suche Hilfe bei einem VBA Code --> Prüfen ob Zelle Leer, dann Makro ausführen: Hallo, suche mal wieder Hilfe bei einem Code. Und zwar möchte ich eine Abfrage einbauen, ob eine Zelle Leer ist, und wenn sie leer ist dann mit dem code weitermachen, wenn sie nicht leer ist,...
  7. Suche Hilfe bei meinem VBA Code

    in Microsoft Excel Hilfe
    Suche Hilfe bei meinem VBA Code: Hallo zusammen, ich habe einen Code aufgezeichnet welcher mit daten von einer PW-geschützten datei in eine Übersicht einfügt. Die geschützte Datei soll nicht allen zugänglich gemacht werden,...
  8. Suche VBA Code

    in Microsoft Excel Hilfe
    Suche VBA Code: Hallo Leute, ich bin auf der Suche nach 3 VBA Codes und absoluter VBA Anfänger Zuerst benötige ich einen Code mit dem ich angeben kann das sich das Arbeitsblatt nur öffnet wenn Makros...
  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