Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1428to1432
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

Ausgewählte Tabellen in eine Tabelle kopieren

Ausgewählte Tabellen in eine Tabelle kopieren
11.06.2015 23:31:47
Burghard
Hallo,
ich möchte ausgewählte Tabellenblätter (mit gleicher Struktur) listenmäßig in einem Tabellenblatt "Gesamt" zusammenführen. Ich habe online eine VBA-Prozedur gefunden, die etwas Ahnliches macht, die aber fehlerhaft ist.
Sub TB_kopieren()
Dim wsTabelle As Worksheet
Dim loLetzteActive As Long
Dim loLetzte As Long
Dim inLetzte As Integer
loLetzteActive = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1
With wsTabelle
Select Case .Name
Case "TB4", "TB5", "TB7", "TB9", "TB10"
loLetzte = .UsedRange.SpecialCells(xlCellTypeLastCell).Row
inLetzte = .UsedRange.SpecialCells(xlCellTypeLastCell).Column
.Range(.Cells(1, 1), .Cells(loLetzte, inLetzte)).Copy ActiveSheet.Cells(loLetzteActive, 1)
loLetzteActive = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row + 1
End Select
End With
End Sub
Excel gibt eine Fehlermeldung für die Zeile "Select Case . Name" aus. Hilfe/Verbesserung wäre nett.
Grüße Burghard

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Ausgewählte Tabellen in eine Tabelle kopieren
12.06.2015 00:10:53
Matthias
Hallo
Das kann so nicht funktionieren.
wsTabelle ist zwar als WorkSheet deklariert, ist aber nur ein Objekt ohne Namen
Also kann man so mit With wsTabelle nichts anfangen
Abhilfe schafft die SET-Anweisung
Erstelle mal ein neue Datei mit 3 Blättern
Blatt1 nennst Du TB4
Blatt2 nennst Du TB7
Blatt3 nennst Du Tabelle3
Nun diesen Code in ein ein Modul

Option Explicit
Sub TB_Erklärung()
Dim wsTabelle As Worksheet
Set wsTabelle = ActiveSheet
With wsTabelle
Select Case .Name
Case "TB4", "TB5", "TB7", "TB9", "TB10"
MsgBox .Name & " - Dieses TB kann benutzt werden"
Case Else
MsgBox .Name & " - Dieses TB ist nicht in der Liste"
End Select
End With
Set wsTabelle = Nothing
End Sub

Nun aktivierst Du irgend ein Blatt und lässt den Code laufen
Das machst Du bitte mit allen 3 Tabellenblättern.
System verstanden?
Statt der MsgBox kannst Du dann x-beliebigen Code benutzen
Gruß Matthias
Anzeige

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige