Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema CommandButton
BildScreenshot zu CommandButton CommandButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema OptionButton
BildScreenshot zu OptionButton OptionButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema ScrollBar
BildScreenshot zu ScrollBar ScrollBar-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema SpinButton
BildScreenshot zu SpinButton SpinButton-Seite mit Beispielarbeitsmappe aufrufen
Informationen und Beispiele zum Thema TextBox
BildScreenshot zu TextBox TextBox-Seite mit Beispielarbeitsmappe aufrufen

Sheets über Button in neue Arbeitsmappe kopieren


Betrifft: Sheets über Button in neue Arbeitsmappe kopieren von: Alex
Geschrieben am: 14.03.2017 11:29:29

Hallo zusammen,

ich habe folgende Aufgabenstellung:

1) Ich habe ein Masterformular (Master.xlsm) dieses 5 Prozessschritte beinhaltet. Jeder Prozessschritt (1=WA, 2=SP, 3=GV, 4=LA, 5=VE)beinhaltet definierte Daten die diesen Prozess beschreiben. Jeder Prozess bekommt im Master-Formular ein eigenes Blatt. PS: die Arbeitsmappe "Master.xlsm" ist an einem fixen Ort hinterlegt!
2) mit meiner zweiten Arbeitsmappe (Prozesse.xlsm) möchte ich per Button meine Prozesse aus dem Master.xlsm Datei importieren.
Die Logik soll so aufgebaut sein, dass in der Arbeitsmappe "Prozesse.xlsm" zwei Blätter (PAP, FMEA) habe. Im ersten Blatt (PAP) möchte ich per Dropdown die einzelnen Prozesse hinterlegen (WA, SP, GV, LA, VE). Dieser Dropdown wird 5mal nach unten kopiert, sodass ich am Ende 5 Laufende Nummern habe unter denen ich jeweils alles Prozesse auswählen kann.
3) Jetzt habe ich ein Bauteil, dass den Prozess (WA, SP, LA) durchläuft. D. h.: bei der Laufenden Nummer 1 wird WA angewählt, bei 2 wird SP angewählt und bei 3 wird LA angewählt. Die Restlichen bleiben hier im Beispiel leer.
4) Im nächsten Stepp soll durch einen Button im Blatt PAP der Anstoß per Makro gegeben werden, dass die einzelnen Daten aus der Arbeitsmappe "Master.xlsm" nach der Gliederung von der Arbeitsmappe "Prozesse.xlsm" Blatt "PAP" kopiert werden und untereinander im Arbeitsblatt "Prozesse.xlsm" Blatt "FMEA" eingefügt werden.
5) Am Ende möchte ich im Arbeitsblatt "Prozesse.xlsm" Blatt "FMEA" die Daten von WA, SP, LA der Reihe nach untereinander zur Verfügung haben.

Kann mir jemand bei meiner Umsetzung behilflich sein!?

  

Betrifft: AW: Sheets über Button in neue Arbeitsmappe kop von: Michael (migre)
Geschrieben am: 15.03.2017 10:17:42

Hallo!

Zunächst: Dir ist schon klar, dass Du relativ viel verlangst? Du willst ja im Grunde eine fertige Automatisierung/Programmierung, die genau auf Deine Anforderungen zugeschnitten ist - aber dafür bietest Du relativ wenig an Infos, bspw. eine Bsp-Mappe, die aufzeigt, welche Art Daten wo stehen und wohin kopiert werden sollen, in welcher Form etc. Dass Du das nicht selbst automatisieren kannst ist nicht das Problem, aber zumindest schematisch aufzeigen, was Du brauchst, hättest Du schon können.

Wie auch immer, hier eine Bsp-Umsetzung für Dich:

In der Zip-Datei sind zwei Dateien, Master.xlsx und Prozesse.xlsm - entpacke beide an den gleichen Speicherort und öffne dann Prozesse.xlsm - Trage dann, wie gewünscht, Deine Prozessschrittte gem. der Dropdown-Felder ein und klicke auf "Prozesse aus Master holen", voila, die Beispieldaten werden übertragen. Der Code liegt im Modul1 der Mappe "Prozesse.xlsm".

Das ist natürlich schematisch, aber keiner kann wissen, wie genau das bei Dir dann aussieht/aussehen soll.

Code zur Sicherheit: https://www.herber.de/bbs/user/112196.zip

Sub FetchProcesses()

    Const MASTER$ = "Master.xlsx"

    Dim WbZ As Workbook: Set WbZ = ThisWorkbook
    Dim WsZ As Worksheet: Set WsZ = WbZ.Worksheets("FMEA")
    Dim WbQ As Workbook, WsQ As Worksheet, Proz As Range, i&, r As Range
    
    Application.ScreenUpdating = False
    Set WbQ = Workbooks.Open(WbZ.Path & "\" & MASTER)
    With WbZ.Worksheets("PAP")
        Set Proz = .Range("B6:B10")
        For i = 1 To Proz.Cells.Count
            If Proz(i) <> "" Then
                Set WsQ = WbQ.Worksheets(Proz(i).Text)
                With WsQ
                    .UsedRange.Copy
                    With WsZ
                        .Cells(.Rows.Count, 1).End(xlUp).Offset(1, _
                            0).PasteSpecial xlPasteAll
                    End With
                End With
                Application.CutCopyMode = False
            End If
        Next i
    End With
    WbQ.Close False

    Set WbZ = Nothing
    Set WsZ = Nothing
    Set WbQ = Nothing
    Set WsQ = Nothing
    Set Proz = Nothing
    Set r = Nothing
End Sub
Gib Bescheid!

LG
Michael


  

Betrifft: Sheets über Button in neue Arbeitsmappe kopieren von: Alex
Geschrieben am: 15.03.2017 13:26:35

Hallo Michael,

vielen Dank für die schnelle und präzise Antwort.

Dein Makro ist genau das wo ich benötige.

Vielen Dank
Grüße Alex


  

Betrifft: Na dann: gerne! LG und owT von: Michael (migre)
Geschrieben am: 15.03.2017 13:54:20




Beiträge aus den Excel-Beispielen zum Thema "Sheets über Button in neue Arbeitsmappe kopieren"