Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1868to1872
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zelleninhalte in anderes Blatt einfügen

Zelleninhalte in anderes Blatt einfügen
11.02.2022 15:58:50
Yaya
Hallo zusammen,
ich würde gerne Zelleninhalte von anderen Tabellenblätter in einem 'Mastertabellenblatt' einfügen.
Allerdings werden die entsprechenden Tabellenblätter aus der kopiert werden soll zuvor mit diesem Makro erstellt:
___

Sub TestStepsErstellen()
Application.ScreenUpdating = False
letztezeile = ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row
For i = letztezeile To 6 Step -1
Sheets("Vorlage").Copy After:=Sheets(2)
neuname = Sheets("Testfallübersicht").Cells(i, 2)
Sheets("Vorlage (2)").Name = neuname
wert1 = Sheets("Testfallübersicht").Cells(2, 3)
Sheets(neuname).Range("B1") = wert1
wert2 = Sheets("Testfallübersicht").Cells(3, 3)
Sheets(neuname).Range("B2") = wert2
wert3 = Sheets("Testfallübersicht").Cells(4, 3)
Sheets(neuname).Range("B3") = wert3
wert4 = Sheets("Testfallübersicht").Cells(i, 2)
Sheets(neuname).Range("B4") = wert4
wert5 = Sheets("Testfallübersicht").Cells(i, 3)
Sheets(neuname).Range("B5") = wert5
wert6 = Sheets("Testfallübersicht").Cells(i, 4)
Sheets(neuname).Range("B6") = wert6
wert7 = Sheets("Testfallübersicht").Cells(i, 5)
Sheets(neuname).Range("B7") = wert7
Sheets("Testfallübersicht").Select
Next i
ActiveWorkbook.Save
Application.ScreenUpdating = False
End Sub
__
Das heißt die Tabellenblätter aus denen kopiert werden soll sind nicht von vornherein bestimmt.
Wie oben abzulesen ist, wird der Name eines Tabellenblattes nach dem Inhalt der Spalte B definiert, der sich ändern kann.
Nun möchte ich, nachdem die Tabellenblätter erstellt wurden und der Inhalt bearbeitet wurde, immer die gleichen Zellen (B8 & B9) aus diesen Tabellenblätter in die 'Mastertabelle' kopieren.
Dies soll durch ein vordefiniertes Makro passieren, der generisch, d.h. ohne zu wissen wiviele Tabellenblätter es gibt und wie sie genau heißen (Benamung nach neuname = Sheets("Testfallübersicht").Cells(i, 2)), ist geschehen.
Habt ihr eine Idee wich ich es machen kann?
Lieben Dank vorab.

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zelleninhalte in anderes Blatt einfügen
12.02.2022 13:04:50
Piet
Hallo
im Prinzip sollte es mit diesem Code klappen, du must aber bitte noch deine korrekten Namen für Mastermappe und Mastersheet im Code angeben!
Das Mastersheet kann in einer beliebigen Datei ein! Ich denke das der Code so einfach zu verstehen ist das du ihn auch selbst anpassen kannst.
mfg Piet
  • 
    Sub Masterdatei_kopieren()
    Dim MDat As Worksheet  'Worksheet in Masterdatei
    '** bitte die richtigen Namen für Workbook und Sheet angeben!
    Set MDat = Workbooks("Masterdatei.xlsm").Worksheets("Master")
    mZeile = 2   '1. Zeile in Masterdatei
    'Alle neu erstellten Blätter B8+B9 in masterdatei auflisten
    For j = 3 To ThisWorkbook.Worksheets.Count
    'Spalte A = Tabellenname, Spalte B+C Wert in B8+B9
    MDat.Cells(mZeile, 2).Value = ThisWorkbook.Worksheets(j).Name
    MDat.Cells(mZeile, 2).Value = ThisWorkbook.Worksheets(j).Range("B8").Value
    MDat.Cells(mZeile, 3).Value = ThisWorkbook.Worksheets(j).Range("B9").Value
    mZeile = mZeile + 1
    Next j
    End Sub
    

  • Anzeige
    AW: Zelleninhalte in anderes Blatt einfügen
    12.02.2022 17:38:35
    Yaya
    Hi Piet,
    vielen Dank für den Code.
    Ich habe versucht ihn anzupassen, kriege es aber nicht hin. Und zwar folgendes:
    1. Ich erstelle gerade eine Datei zur Vorlage, weshalb die Datei immer anders heißen wird. Somit wird die Datei aus der die Werte kopiert werden sollen, auch in dieselbe Datei rein bzw. in dem Worksheet namens "Testfallübersicht" kopiert werden --> Es ist nicht notwendig ein anderes Workbook zu definieren. Habe es nicht geschafft dies durch "ActiveWorkbook" zu regeln.
    Info: Da die Datei eine Vorlage ist, wird der Nutzer in der Spalte B meherer Zeilen hinzufügen, aus der später automatisch (siehe Makro in meinem ersten Beitrag) Tabellenblätte in derselben Datei erzeugt wird. D.h. für jede Zeile unter B6 (inkl. B6) werden die neuen Worksheets generiert. Diese werden nach dem Inhalt aus Bi benannt, wobei i 2. Aus den neu erstellten und bearbeiteten Tabellenbläter sind jeweils die Inhalte der Zellen B8 & B9 in dem Worksheet "Testfallübersicht" zu kopieren, wobei die Spalten immer F und G sind. Es ist darauf zu achten, dass die Werte in der Spalte F und G ab der Zeile 6 kopiert werden und, dass die Werte natürlcih zu der jeweiligen Zeile und Worksheet passen. Die Herausforderung besteht also darin einen Match aus der nicht zuvor definierten Worksheets zur jeweiligen Zeile zu schaffen.
    Ich hoffe es wahr etwas verständlich und nochmals vielen Dank:)
    Anzeige
    AW: Zelleninhalte in anderes Blatt einfügen
    13.02.2022 10:16:50
    Piet
    Hallo
    ich habe das Makro jetzt mal so umgeschrieben, das es die Inhalte B8+B9 der neuen Blätter in die Tabelle "Testfallübersicht" in Spalte F+G auflistet.
    Ich hoffe das es so richtig ist, bin mir aber nicht ganz sicher.
    mfg Piet
  • 
    Sub Masterdatei_kopieren()
    Dim TfÜbs As Worksheet, mZeile As Long
    With ThisWorkbook
    Set TfÜbs = .Worksheets("Testfallübersicht")
    TfÜbs.Columns("F:G").ClearContents
    mZeile = 1   '1. Zeile in Masterdatei
    'Alle neu erstellten Blätter B8+B9 in masterdatei auflisten
    For j = 3 To .Worksheets.Count
    'Spalte F+G Wert aus neuer Tabelle B8+B9
    TfÜbs.Cells(mZeile, "F").Value = .Worksheets(j).Range("B8").Value
    TfÜbs.Cells(mZeile, "G").Value = .Worksheets(j).Range("B9").Value
    mZeile = mZeile + 1
    Next j
    End With
    End Sub
    

  • Anzeige
    AW: Zelleninhalte in anderes Blatt einfügen
    13.02.2022 20:08:06
    Yaya
    Hello,
    vielen Dank. Es hat echt super geklappt.
    Hab ihn etwas angepasst, da in Spalte F und G erst ab Zeile 6 reinkopiert werden sollte und deshalb auch erst ab da die Werte gelöscht werden sollen:
    
    Sub Masterdatei_kopieren()
    Dim TfÜbs As Worksheet, mZeile As Long
    With ThisWorkbook
    Set TfÜbs = .Worksheets("Testfallübersicht")
    TfÜbs.Range("F6:F100").ClearContents
    TfÜbs.Range("G6:G100").ClearContents
    mZeile = 6   '1. Zeile in Masterdatei
    'Alle neu erstellten Blätter B8+B9 in masterdatei auflisten
    For j = 3 To .Worksheets.Count - 2
    'Spalte F+G Wert aus neuer Tabelle B8+B9
    TfÜbs.Cells(mZeile, "F").Value = .Worksheets(j).Range("B8").Value
    TfÜbs.Cells(mZeile, "G").Value = .Worksheets(j).Range("B9").Value
    mZeile = mZeile + 1
    Next j
    End With
    End Sub
    
    Merci!:)
    Gruß
    Yaya
    Anzeige

    307 Forumthreads zu ähnlichen Themen

    Anzeige
    Anzeige
    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige