Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
768to772
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
768to772
768to772
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

anstatt neue Mappe, in besteh. Mappe einfügen

anstatt neue Mappe, in besteh. Mappe einfügen
03.06.2006 14:40:21
Wolfgang
Hallo,
mit untenstehendem Code wird erreicht, dass gefilterte Daten in eine neue Arbeitsmappe kopiert werden. Was muß ich verändern, wenn ich die Daten in ein Tabellenblatt innerhalb der geöffneten Arbeitsmappe - Blattname "Übersicht" hineinkopiert haben möchte? (Habe mir als Laie bereits die Zähne daran ausgebissen); Danke schon jetzt Allen für die Hilfestellung.
Herzliche Grüße
Wolfgang

Sub Serienbrief()
' Variablendeklaration
Dim intCounter As Integer
Dim shSource As Worksheet
Dim lngRow As Long
Dim wb As Workbook
Dim sport As String
Dim fd As FileDialog
Dim vrtSelectedItem As Variant
' Objektvariable für aktives Blatt festlegen
Set shSource = ActiveSheet
' Schleife über 5 TextBoxes
For intCounter = 1 To 14
'Wenn eine Auswahl erfolgte, dann
If Controls("cbbKriterium" & intCounter).ListIndex <> -1 Then
If intCounter = 3 Then
Range("A1").AutoFilter Field:=intCounter, _
Criteria1:=CDate(Controls("cbbKriterium" & intCounter).Value)
Else
Range("A1").AutoFilter Field:=intCounter, _
Criteria1:=Controls("cbbKriterium" & intCounter).Value
End If
End If
Next intCounter
' Alle sichtbaren Zellen kopieren
Range("A1").CurrentRegion.Copy
' Neues Arbeitsblatt hinzufügen
Set wb = Workbooks.Add(1)
ActiveSheet.Paste
' Autofilter ausschalten
shSource.Range("A1").AutoFilter
' Kopiermodus ausschaltern
Application.CutCopyMode = False
' Zwischenspeicher einfügen
' Zelle A1 auswählen
Range("A1").Select
wb.Activate
Rows("1:1").Select
Selection.Delete Shift:=xlUp
End Sub

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

Betreff
Datum
Anwender
Anzeige
AW: anstatt neue Mappe, in besteh. Mappe einfügen
03.06.2006 14:48:44
Hoffi
Hallo Wolfgang,
ändere folgende Zeilen im Makro:
Dim wb As Workbook
Set wb = Workbooks.Add(1)
in:
Dim wb as Worksheet
Set wb = ActiveWorkbook.Sheets("Tabelle1") 'hier den Namen des Tabellenblattes eintragen, wo es rein kopiert werden soll.
ungetestet...
Grüße
Hoffi
P.S. Rückmeldung wäre nett...
AW: anstatt neue Mappe, in besteh. Mappe einfügen
03.06.2006 15:55:09
Wolfgang
Hallo Hoffi,
Danke zunächst für Deine schnelle Rückmeldung;
Irgendwie klappt es noch nicht; Bei den vorgenommenen Änderungen stoppt VBA bei ActiveSheet.Paste und macht nicht weiter. Ich habe das dann herausgenommen, es passiert aber weiterhin nichts. Hast Du da oder jemand anders eine Idee, was ich da falsch mache?
Kann das evtl. damit zusammenhängen, dass Worksheet zweimal bei Dim auftaucht?
Gruß - Wolfgang

Sub Serienbrief()
' Variablendeklaration
Dim intCounter As Integer
Dim shSource As Worksheet
Dim lngRow As Long
Dim wb As Worksheet
Dim sport As String
Dim fd As FileDialog
Dim vrtSelectedItem As Variant
'neue Tabelle für gefiltere Datensätze anlegen
' Objektvariable für aktives Blatt festlegen
Set shSource = ActiveSheet
' Schleife über 5 TextBoxes
For intCounter = 1 To 14
'Wenn eine Auswahl erfolgte, dann
If Controls("cbbKriterium" & intCounter).ListIndex <> -1 Then
'Kriterium festlegen
If intCounter = 3 Then
Range("A1").AutoFilter Field:=intCounter, _
Criteria1:=CDate(Controls("cbbKriterium" & intCounter).Value)
Else
Range("A1").AutoFilter Field:=intCounter, _
Criteria1:=Controls("cbbKriterium" & intCounter).Value
End If
End If
Next intCounter
' Alle sichtbaren Zellen kopieren
Range("A1").CurrentRegion.Copy
' Neues Arbeitsblatt hinzufügen
Set wb = ActiveWorkbook.Sheets("Übersicht")
ActiveSheet.Paste
' Autofilter ausschalten
shSource.Range("A1").AutoFilter
' Kopiermodus ausschaltern
Application.CutCopyMode = False
' Zwischenspeicher einfügen
' Zelle A1 auswählen
Range("A1").Select
wb.Activate
Rows("1:1").Select
Selection.Delete Shift:=xlUp
End Sub

Anzeige
AW: anstatt neue Mappe, in besteh. Mappe einfügen
03.06.2006 17:08:47
Luschi
Hallo Wolfgang,
in dem Vba-Code steht:
' Neues Arbeitsblatt hinzufügen
Set wb = ActiveWorkbook.Sheets("Übersicht")
ActiveSheet.Paste
Doch damit wird kein neues Arbeitsblatt hinzugefügt, sondern nur 1 Objektvariable "wb" mit einer schon vorhandenen Tabelle "Übersicht" verknüft. Das ActiveSheet-Objekt wird dadurch auch nicht auf die Tabelle "Übersicht" gesetzt. Mit
wb.Paste
würde man den Inhalt aus dem Zwischenspeicher in die Tabelle "Übersicht" übertragen.
Gruß von Luschi
aus klein-Paris
AW: anstatt neue Mappe, in besteh. Mappe einfügen
03.06.2006 18:38:46
Wolfgang
Hallo Luschi,
Hallo Hoffi,
danke für Eure Hinweise; Mir ist nun klar geworden, dass ich doch anstatt Set wb... genauso gut With Worksheets("Übersicht") arbeiten kann. Habe das schon so angepaßt und es rennt nun. Dank Eurer guten Hinweise und Mitwirkung; Weiterhin alles Gute, frohe Feiertage und nochmals recht herzlichen Dank.
Gruß - Wolfgang
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige