Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1816to1820
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

Inhalt Tabelle in versch. Sheets kopiere

Inhalt Tabelle in versch. Sheets kopiere
13.03.2021 22:31:47
Melpomene
Hallo - ich bin durch euch schon extrem weit gekommen und habe schon viel gelernt und kann mir durch eure Hilfe auch schon ganz gut Dinge herleiten.
Ich habe eine Tabelle, die ist unten angehängt.
In der Tabelle sind Artikel, die bestimmten Bereichen zugehören.
Für jeden Bereich muss ein einzelnes Tabellenblatt angelegt werden und alle Inhalte, die in diesem Bereich sind eingefügt werden.
Ich habe es geschafft alleine (mit google-Suche natürich, aber mit selbstständiger Anpassung so weit zu kommen:
Sub FuegeFürJedenBereichEinSheetEin()
Range("C1").Select
Application.CutCopyMode = False
Columns("C:C").AdvancedFilter Action:=xlFilterCopy, CopyToRange:=Range( _
"G2"), Unique:=True
Dim Bereich As String
Dim Zelle As Range
Dim Tabelle As Worksheet
Bereich = "G2:G10"
With ActiveWorkbook
For Each Zelle In ActiveSheet.Range(Bereich).Cells
Set Tabelle = .Sheets.Add(After:=.Sheets(Sheets.Count))
Tabelle.Name = Zelle.Text
Next Zelle
End With
End Sub

Hier bekomme ich in der Zeile "Tabelle.Name = Zelle.Text immer eine Fehlermeldung, aber die Sheets werden trotzdem erstellt.
Ich hätte gerne eine allgemeingültige Formel mit variablem Bereich - ich hab als Bereich G2:G10 eingegeben aber es kann auch mal G2:G5 oder G2:G15 sein. Kommt vielleicht daher die Fehlermeldung? Weil in einigen Zellen gar nichts drin steht?
Nun möchte ich in die entstandenen Sheets die entsprechenden Zellen eintragen. MIT der ersten Zeile - also den Namen der Spalten - und daran scheitere ich. Mit dem Makrorecorder, kann ich das zwar machen, aber auch nur mit bestimmten Sheets - also z.B. Filter setzten auf "A" und dann alles rüber kopieren. Aber ich habe insgesamt 400 Bereiche, von denen bei der Abfrage immer zwischen 5 - 25 Bereiche vorkommen.
Ich brauche also ein allgemeingültiges Makro:
"Wenn ein Sheet mit dem Titel "A" vorkommt, so kopiere alle Zeilen von Spalte A - D in denen in Spalte C "A" steht UND auch den Titel der Spalten (Zeile 1)."
"Wenn ein Sheet mit dem Titel "XY" vorkommt, so kopiere alle Zeilen von Spalte A - D in denen in Spalte C "XY" steht UND auch den Titel der Spalten (Zeile 1)"
https://www.herber.de/bbs/user/144750.xlsx
Vielen Dank für eure Hilfe
Liebe Grüße
Melpomene

11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Inhalt Tabelle in versch. Sheets kopiere
14.03.2021 08:20:29
Hajo_Zi
ich kann Dir Leider nicht Helfen, was wohl dartan liegt das Dein Makro nicht in der Datei ist. Bei mir haben XLSX Dateien kein Makro. Das scheint in Deiner Version anders zu sein welche ist das?
Bild
Homepage

AW: Inhalt Tabelle in versch. Sheets kopiere
14.03.2021 09:51:35
Herbert_Grom
Hallo,
kannst du mir anstatt "A,B,S,XY" mal richtige Begriffe senden?
Servus

AW: Inhalt Tabelle in versch. Sheets kopiere
14.03.2021 10:19:46
Herbert_Grom
Hallo,
schau dir mal meinen Vorschlag mit Formeln an:
https://www.herber.de/bbs/user/144760.xlsm
Servus

Anzeige
AW: Inhalt Tabelle in versch. Sheets kopiere
14.03.2021 16:28:18
Melpomene
Vielen Dank für deine Hilfe! Ich hab den heutigen Tag nochmal im Internet gesucht und hab einen Code gefunden der funktioniert. Jedoch bezieht er sich auf die Spalte A. Ich benötige aber einen Bezug zu Spalte D. Die letzten 2h hab ich damit verbracht alles mögliche auszuprobieren, aber immer werden die neuen Sheets für Spalte A erstellt und nicht Spalte D.
Hier ist der Code:
Sub FürJedenBereichEinSheet()
Dim lr As Long
Dim ws As Worksheet
Dim vcol, i As Integer
Dim icol As Long
Dim myarr As Variant
Dim title As String
Dim titlerow As Integer
vcol = 1
Set ws = Sheets("Tabelle1")
lr = ws.Cells(ws.Rows.Count, vcol).End(xlUp).Row
title = "A1:D1"
titlerow = ws.Range(title).Cells(1).Row
icol = ws.Columns.Count
ws.Cells(1, icol) = "Unique"
For i = 2 To lr
On Error Resume Next
If ws.Cells(i, vcol)  "" And Application.WorksheetFunction.Match(ws.Cells(i, vcol), ws. _
Columns(icol), 0) = 0 Then
ws.Cells(ws.Rows.Count, icol).End(xlUp).Offset(1) = ws.Cells(i, vcol)
End If
Next
myarr = Application.WorksheetFunction.Transpose(ws.Columns(icol).SpecialCells( _
xlCellTypeConstants))
ws.Columns(icol).Clear
For i = 2 To UBound(myarr)
ws.Range(title).AutoFilter field:=vcol, Criteria1:=myarr(i) & ""
If Not Evaluate("=ISREF('" & myarr(i) & "'!A1)") Then
Sheets.Add(After:=Worksheets(Worksheets.Count)).Name = myarr(i) & ""
Else
Sheets(myarr(i) & "").Move After:=Worksheets(Worksheets.Count)
End If
ws.Range("A" & titlerow & ":A" & lr).EntireRow.Copy Sheets(myarr(i) & "").Range("A1")
Sheets(myarr(i) & "").Columns.AutoFit
Next
ws.AutoFilterMode = False
ws.Activate
End Sub
Die Datei mit Makro habe ich auch nochmal eingestellt.
https://www.herber.de/bbs/user/144781.xlsm
Vielen Dank für die Unterstützung!

Anzeige
AW: Inhalt Tabelle in versch. Sheets kopiere
14.03.2021 16:38:54
ralf_b
Hallo Mel....
Was meinst du denn? Hier ist doch klar zu sehen wo mit "A" gearbeitet wird. Ist es ein Problem daraus "D" zu machen?
ws.Range("A" & titlerow & ":A" & lr).EntireRow.Copy Sheets(myarr(i) & "").Range("A1")
Sheets(myarr(i) & "").Columns.AutoFit


AW: Inhalt Tabelle in versch. Sheets kopiere
14.03.2021 17:12:40
Melpomene
Hallo Ralf,
das hab ich gemacht, aber es werden trotzdem die Sheets nach der ersten Spalte gebildet mit den Namen "1", "2" und "3" und nicht "A", "B" und "S" ... daher check ich das Makro nicht und weiß nicht woran es liegt.
Da probiere ich wie gesagt schon seit Stunden herum und hab schon alles mögliche geändert.
Liebe Grüße
Mel

Anzeige
AW: Inhalt Tabelle in versch. Sheets kopiere
14.03.2021 17:47:03
Herbert_Grom
Was gefällt dir an meinen Formeln nicht? Muss es unbedingt VBA sein?
Servus

AW: Inhalt Tabelle in versch. Sheets kopiere
14.03.2021 18:04:33
Herbert_Grom
Hallo,
der Code ist doch perfekt, wenn du aus "vCol = 1" noch "vCol = 3" machst!
Servus

AW: Inhalt Tabelle in versch. Sheets kopiere
14.03.2021 18:21:21
Melpomene
Mensch Herbert! Genau das ist es - vCol = 4 --- dann passt es!
Ich wusste nicht was vCol bedeutet, jetzt weiß ich es in etwa!
Vielen Dank für deine Formel, aber ich wollte einen Code, weil man diesen wunderbar durch einen Button oder ähnlichen auslösen kann.
Außerdem muss das alles allgemein gültig sein, daher fand ich das mit einem Makro super!
Vielen Dank für deine Hilfe.
Melpomene

Anzeige
AW: Inhalt Tabelle in versch. Sheets kopiere
14.03.2021 18:42:22
Herbert_Grom
Hallo,
"Col" wird meist als Abkürzung für "Column" verwendet! Das "v" davor bezieht sich meist auf die Variablenart, in diesem Falle "Variant"!
Servus

AW: Inhalt Tabelle in versch. Sheets kopiere
15.03.2021 09:00:51
Herbert_Grom
Apropos: Wer ist eigentlich "Christin Jany"?

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige