Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Vor Ausführen Makro ein neues Blatt anlegen

Vor Ausführen Makro ein neues Blatt anlegen
14.09.2024 13:18:23
chris58
Hallo !
Ich habe das unten angeführt Makro zusammengestopelt. Es ging ohne den Fett markierten Bereich- Ich wollte jedoch, das das Makro ein neues Tabellenblatt anlegt und dann erst die Zeilen dort hineinkopiert. Nun, es kommen Fehler.
Bitte, was ist falsch an dem Code
Danke chris58


Sub kopierezeilen1()

Set neu = Worksheets.Add(before:=Sheets(1))
neu.Name = "Auflistung"
For Each wks In ThisWorkbook.Sheets
If wks.Name > neu.Name Then
End If


Range("A23:R65000").Copy 'markiert und Kopiert die angegebenen Zellen
Sheets("Auflistung").Select 'wechselt ins angegebene Tabellenblatt
Range("A3").PasteSpecial 'fügt die kopierten Werte ein
Sheets("Auflistung").Select 'wechselt ins angegebene Tabellenblatt
Range("A1").Select 'markiert angegebene Zelle

Next

End Sub
Anzeige

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Vor Ausführen Makro ein neues Blatt anlegen
14.09.2024 13:27:33
Onur
Sobald du ein neues Blatt anlegst, ist das neue Blatt das Aktuelle.
Du musst danach erst mal das andere Blatt aktivieren oder bei
Range("A23:R65000").Copy 

den Blattnamen mit angeben.
AW: Vor Ausführen Makro ein neues Blatt anlegen
14.09.2024 13:34:31
Onur
DAS sollte reichen:
Sub kopierezeilen1()

Set neu = Worksheets.Add(before:=Sheets(1))
neu.Name = "Auflistung"
For Each wks In ThisWorkbook.Sheets
If wks.Name > neu.Name Then
wks.Range("A23:R65000").Copy Range("A3") 'Kopiert die angegebenen Zellen und fügt sie ein
End If
Next
Range("A1").Select 'markiert angegebene Zelle
End Sub
Anzeige
AW: Vor Ausführen Makro ein neues Blatt anlegen
14.09.2024 20:32:41
chris58
Hallo !
Na dann noch einmal.
Der Code soll folgendes machen:
1. Er soll aus dem Tabellenblatt "Berechnung" gestartet werden.
2. Er soll ein neues Tabellenblatt "Auflistung" anlegen wenn keines vorhanden.
3. Er soll die Zeilen A23:R65000 nur aus dem Tabellenblatt "Berechnung" kopieren und in das Tabellenblatt "Auflistung" ab A3 einfügen (die Zeilen in "Berechnung" bleiben wie sie sind).
4. Er sollen die Zellen untereinander wie im Tabellenblatt "Berechnung" nach Datum geordnet eingefügt werden.
So habe ich das auch am Anfang geschrieben. Es hat ja alles geklappt, nur das mit dem Tabellenblatt "Auflistung" hat eben nicht funktioniert.
Hoffe ich habe nun nichts mehr vergessen.
Danke für die Zeit
chris58

Der Code wurde durch die Zeilen die nun mit der Schrift fett dargestellt werden, ergänzt, und ab da geht er nicht mehr.

Sub kopierezeilen1()

Set neu = Worksheets.Add(before:=Sheets(1))
neu.Name = "Auflistung"
For Each wks In ThisWorkbook.Sheets
If wks.Name > neu.Name Then
End If


Range("A23:R65000").Copy 'markiert und Kopiert die angegebenen Zellen
Sheets("Auflistung").Select 'wechselt ins angegebene Tabellenblatt
Range("A3").PasteSpecial 'fügt die kopierten Werte ein
Sheets("Auflistung").Select 'wechselt ins angegebene Tabellenblatt
Range("A1").Select 'markiert angegebene Zelle

Next

End Sub
Anzeige
AW: Vor Ausführen Makro ein neues Blatt anlegen
14.09.2024 21:41:17
Ulf
Hi,
~ so


Sub kopierezeilen1()
Dim bVorhanden As Boolean
Dim neu As Worksheet
Dim rgQuelle As Range, rgZiel As Range
On Error Resume Next
Debug.Print IsError(ThisWorkbook.Worksheets("Auflistung"))
bVorhanden = Err > 9
If Not bVorhanden Then
Set neu = Worksheets.Add(before:=Sheets(1))
neu.Name = "Auflistung"
End If
Set rgQuelle = ThisWorkbook.Worksheets("Berechnung").Range("A23:R65000")
Set rgZiel = ThisWorkbook.Worksheets("Auflistung").Range("A3")
rgQuelle.Copy rgZiel
End Sub

hth
Ulf
Anzeige
Danke - das ist es
15.09.2024 10:57:14
chris58
Hallo Ulf !
Danke für das Makro - das geht super
chris58
AW: Vor Ausführen Makro ein neues Blatt anlegen
14.09.2024 20:42:09
Onur
For Each wks In ThisWorkbook.Sheets

If wks.Name > neu.Name Then
End If
.....
Next

"IF ... Then"und "END IF" sind wie Klammer auf und zu - wenn aber nix dazwischen steht, kann man sich das ganze ebenso gut auch sparen (so wie leere Klammern).
For Each wks

macht Alles für ALLE Blätter ausser "Auflistung" .
Was also soll das? Laut deiner Beschreibung soll der Code "nur aus dem Tabellenblatt "Berechnung" kopieren".

Anzeige
AW: Vor Ausführen Makro ein neues Blatt anlegen
14.09.2024 15:41:11
chris58
Hallo Onur !
Also, der Code macht folgendes:
1. Er legt das neue Tabellenblatt Auflistung an.
2. Er kopiert alle Zeilen (man sieht das) in dieses Tabellenblatt Auflistung.
3. Er löscht wieder alles was er hineinkopiert hat.
Übrig bleibt ein leeres Tabellenblatt Auflistung.
lg chris58
Anzeige
AW: Vor Ausführen Makro ein neues Blatt anlegen
14.09.2024 15:46:33
Onur
Das liegt ja an deinem Code, der recht sinnfrei ist.
Ich habe ihn nur verkürzt und zum Laufen gebracht.
Er kopiert ALLE diese Bereiche aus ALL diesen Blättern immer auf das EINE neu erstellte Blatt an immer DIESELBE Stelle. Und wenn dieser Bereich aus dem letzten Blatt leer war, ist auch das neue Blatt leer !
Anzeige
AW: Vor Ausführen Makro ein neues Blatt anlegen
14.09.2024 15:49:42
chris58
Verzeihung, das hab ich nicht bedacht.
Der Code soll nur vom Tabellenblatt "Berechnung" die Zeilen von A23 bis ...
nehmen und in das neu erstellte Tabellenblatt "Auflistung" kopieren.
lg chris58
AW: Vor Ausführen Makro ein neues Blatt anlegen
14.09.2024 15:50:34
Onur
UNTEREINANDER ????
AW: Vor Ausführen Makro ein neues Blatt anlegen
14.09.2024 15:52:24
chris58
Ja
Anzeige
AW: Vor Ausführen Makro ein neues Blatt anlegen
14.09.2024 15:54:33
Onur
DEN GANZEN BEREICH BIS ZEILE 65000 ?
Die nächsten würden bei Zeile 65001 anfangen und das dritte Blatt bei 130.000 ????
AW: Vor Ausführen Makro ein neues Blatt anlegen
14.09.2024 16:01:56
Onur
Vielleicht solltest du dich mal zuerst hinsetzen und überlegen, WAS DER CODE GENAU machen soll und was du erreichen willst, und dann anfangen zu programmieren, anstatt loszulegen und dann erst zu bemerken, dass das Blödsinn ist....
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige