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

Tabellenblatt mit gleichen Name Count

Tabellenblatt mit gleichen Name Count
25.05.2022 12:10:52
HansDieterWurst
Hallo zusammen,
ich hänge gerade an einem Makro und komme nicht weiter.
1. Wird mir durch ein Makro aus verschiedenen Exceltabellen einige Arbeitsblätter herauskopiert und in die aktuelle Arbeitsmappe eingelesen.
Diese Worksheets werden dann wie folgt benannt "Personendaten" "Vertragsdaten" "Personendaten (2)" "Vertragsdaten (2)" und fortlaufend.
Jetzt möchte ich mit meinem Skript nur die Worksheets ansprechen die Personendaten heißen und diese in Tabelle 1 kopieren. Hier der Code

Dim Sheet As Worksheet
Dim Index As Long
Index = ActiveSheet.Index
' Stammdatenzusammenfuegen Makro
'Tabellenblatt Export wird mit Überschrift (A1) kopiert
Application.DisplayAlerts = False
Sheets("Personendaten").Select
Range("A1").Select
ActiveSheet.Range("A:BK").Select
Selection.Copy
Sheets("Tabelle1").Select
Range("A1").Select
ActiveSheet.Paste
Sheets("Personendaten").Delete
Sheets(ActiveSheet.Index + 1).Select
Application.DisplayAlerts = True
'Jedes anderes Tabellenblatt wird mit beginnend A2 kopiert
For Each Sheet In ActiveWorkbook.Worksheets
If Sheet.Name  "Tabelle1" And Sheet.Name = "Personendaten" Then
Application.DisplayAlerts = False
Application.CutCopyMode = False
Rows("2:2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Sheets("Tabelle1").Select
Range("A1").Select
Selection.End(xlDown).Offset(1).Select
ActiveSheet.Paste
Sheets(ActiveSheet.Index + 1).Select
If Index = Worksheets.Count Then Index = 0
ActiveSheet.Delete
End If
Next Sheet
End Sub
Gerne möchte ich den folgenden Teil If Sheet.Name "Tabelle1" And Sheet.Name = "Personendaten" Then dazu ändern, dass alle Worksheets mit dem Teilnamen Personendaten und der Nummer N angesprochen werden.
Wie schaffe ich das?
Ich hoffe Ihr versteht mein Problem. :)

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
If Sheet.Name Like "Personendaten*" ....oT
25.05.2022 12:12:58
{Boris}
VG, Boris
AW: If Sheet.Name Like "Personendaten*" ....oT
25.05.2022 12:32:35
GerdL
Hola!
Sheet
Ähnlichkeiten mit Auflistungsobjekten sind rein zufällig.
Wer seine Arbeitsblatt-Variable so benennt, hat in der VBA-Schule ...
..nicht aufgepasst! :-)
Gruß Gerd
Ich kenne nur Sheets...
25.05.2022 12:40:50
{Boris}
Hi Gerd,
...und nicht Sheet. Außerdem ging es doch nur um den Like-Operator.
VG, Boris
AW: Ich kenne nur Sheets...
25.05.2022 13:18:34
GerdL
Hi Boris, du hast Recht!
Bei elf Select fällt der Rest nicht sonderlich ins Gewicht u. sollte mir auch "Wurst sein"! :-)
Gruß Gerd
AW: Tabellenblatt mit gleichen Name Count
25.05.2022 12:27:35
Rudi
Hallo,
verwende niemals VBA-Schlüsselwörter (Index, Sheet) als Variablennamen.

Sub aa()
Dim wks As Worksheet
' Stammdatenzusammenfuegen Makro
'Tabellenblatt Export wird mit Überschrift (A1) kopiert
Application.DisplayAlerts = False
Sheets("Personendaten").Range("A:BK").Copy _
Sheets("Tabelle1").Range("A1")
Sheets("Personendaten").Delete
'Jedes anderes Tabellenblatt wird mit beginnend A2 kopiert
For Each wks In ActiveWorkbook.Worksheets
If wks.Name Like "Personendaten*" Then
Application.CutCopyMode = False
With wks
.Range(.Cells(2, 1), .Cells(2, 1).End(xlDown)).EntireRow.Copy _
Sheets("Tabelle1").Range("A1").End(xlDown).Offset(1)
.Delete
End With
End If
Next wks
Application.DisplayAlerts = True
End Sub
Gruß
Rudi
Anzeige
Was für Sheet aber nicht gilt... ;-)
25.05.2022 12:30:33
{Boris}
Hi Rudi,
Sheets wäre hingegen schlecht ;-)
VG, Boris
die Ähnlichkeit ...
25.05.2022 12:42:55
Rudi
... ist mir zu groß. ;-)

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige