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

Bitte um ein Makro das Daten kopiert und löscht

Bitte um ein Makro das Daten kopiert und löscht
02.12.2019 20:21:36
Christian
Hallo,
würde mich freuen, wenn ihr mir mit einem kleinen, hoffentlich nicht allzu aufwändigem Makro aushelft.
Ich habe 2 Blätter,
eins mit dem Namen Ergebnis, das andere mit dem Namen U18.
Beide haben keine Überschriften und 10 Spalten.
Folgendes würde ich mir nun wünschen.
1. Der Inhalt von U18 soll ausgeschnitten und am Ende des bestehenden Inhalts der Tabelle Ergebnis eingefügt werden
2. dann soll das bereits bestehende Makro3 ausgeführt werden.
3. dann sollen alle Zeilen in Tabelle Ergebnis, in denen eine Zahl zwischen 1 und 17 steht (in Spalte J) ausgeschnitten und in U18 eingefügt werden.
4. Die dann leeren Zeilen in Ergebnis sollen gelöscht werden.
5. Das Makro3 soll ein weiteres mal ausgeführt werden.
Hier noch das Makro3. Wenn ihr es für sinnvoller haltet, das Makro3 entsprechend zu erweitern, nehme ich natürlich auch eine solche Lösung.
Danke
Christian
 Sub Makro3()
Dim loLetzte As Long, j As Long, x As Long, lC As Long
Application.ScreenUpdating = False
With Worksheets("Ergebnis")
loLetzte = .Cells(Rows.Count, 1).End(xlUp).Row
.Range("B1:C1").Copy .Range("B1:C" & loLetzte)
.Range("B2:C" & loLetzte).Copy
.Range("B2:C" & loLetzte).PasteSpecial xlPasteValues
.Range("E1:F1").Copy .Range("E2:F" & loLetzte)
.Range("E2:F" & loLetzte).Formula = .Range("E2:F" & loLetzte).Value2
.Range("K1") = "Formel"  'Zeile 1 markieren!!
.Sort.SortFields.Clear
.Sort.SortFields.Add Key:=.Range("C1:C" & loLetzte), SortOn:=xlSortOnValues, _
Order:=xlAscending, DataOption:=xlSortNormal
.Sort.SortFields.Add Key:=.Range("F1:F" & loLetzte), SortOn:=xlSortOnValues, _
Order:=xlDescending, DataOption:=xlSortNormal
With .Sort
.SetRange Range("A1:K1" & loLetzte)
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
'Zeile der Markierung in Spalte l suchen
x = .Cells(Rows.Count, 11).End(xlUp).Row
'Formeln ggf. in Zeile1 zurück kopieren
If x > 1 Then
.Cells(x, 2).Resize(1, 2).Copy .Range("B1")
.Cells(x, 5).Resize(1, 6).Copy .Range("E1")
.Cells(x, 5).Copy .Range("E1")
.Rows(x).Value = .Rows(x).Value
End If
.Range("G1:J1").Copy .Range("G2:J" & loLetzte)
.Range("G2:J" & loLetzte).Copy
.Range("G2:J" & loLetzte).PasteSpecial xlPasteValues
.Cells(x, 11) = Empty 'markierung löschen
.Range("E2").Select
End With
Application.CutCopyMode = False
End Sub

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

Betreff
Datum
Anwender
Anzeige
Bitte um eine Beispieldatei. o.w.T.
03.12.2019 13:33:31
Werner
AW: Bitte um eine Beispieldatei. o.w.T.
03.12.2019 14:45:32
Christian
Hallo Werner,
das wird leider etwas schwierig. Grund ist folgender, die Spalte , in der die Zahlen zwischen 1 und 17 stehen, wird u.a. durch Zählenwenn Formeln berechnet. d.h. ich brauche entsprechend viele Daten, damit Zahlen größer 17 in der Tabelle stehen und das Makro3 etwas zum berechnen hat. Und da kommt dann die 300 KB Grenze in diesem Forum ins Spiel.
Wenns gar nicht anders geht, versuche ich den Drahtseilakt zwischen genügend Daten damit das Makro3 funktioniert und unter der 300 KB Grenze bleiben.
Ich hoffe aber du gibst dich auch damit zufrieden, dass ich das Makro mal aufzeichne, vielleicht reicht es dir ja auch schon so.
Gruß
Christian
(folgt dann gleich wenn ich es aufgezeichnet habe).
Anzeige
das Makro
03.12.2019 14:56:27
Christian
Hier das Makro:
1. schneide ich den Inhalt aus A1:J71 (des Blatts U18)
2. und füge ihn am Ende des Blatts Ergebnis (in meinem Beispiel Zeile 6316 ff. ein).
3. dann führe ich Makro3 aus.
4. filtere ich Spalte G nach Zahlen zwischen 1 und 17.
5. kopiere die Zeilen, in denen Zahlen zwischen 1 und 17 stehen ins Blatt U18
6. lösche die Zeilen in denen Zahlen zwischen 1 und 17 stehen aus dem Blatt Ergebnis.
7. entferne den Filter aus Ergebnis Spalte G.
8. Führe das Makro3 ein zweites mal aus.
(und ja habe alles was mit activate und scrollen zu tun hatte aus dem aufgezeichneten Makro entfernt. Hoffe ich habe nicht zuviel entfernt.)
Sub Makro1()
' Makro1 Makro
Range("A1:J71").Select
Selection.Cut
Sheets("Ergebnis").Select
Range("A6316").Select
ActiveSheet.Paste
Application.Run "Filme.xlsm!Makro3"
Columns("G:G").Select
Range("G6285").Activate
Selection.AutoFilter
Selection.AutoFilter
ActiveSheet.Range("$G$1:$G$6387").AutoFilter Field:=1, Criteria1:=">=1", _
Operator:=xlAnd, Criteria2:="

Anzeige
AW: Bitte um ein Makro das Daten kopiert und löscht
04.12.2019 08:27:38
Christian
Hallo Werner,
sorry ich weiß nicht, wie eine Beispieldatei funktionieren sollte.
Zum einen ich müsste das ganze mit noch weiteren Blättern aufblähen, damit die SVERWEIS Formeln in Ergebnis nicht ins Leere laufen und überhaupt etwas berechnet werden kann, bei dem entsprechende Zahlen größer oder kleiner 17 herauskommen.
Wenn ich das Makro 3 starte und die Formeln aufgrund fehlender Blätter nur #NV oder #WERT ausgeben, fehlen diese Zahlen ebenfalls.
Sprich ich müsste alles total aufblähen mit Dingen, die für meine Frage überhaupt nicht von Relevanz sind, du müsstest dich in Strukturen einer Tabelle mit 11 Blättern und z.Zt. noch 5,9 MB Größe hineindenken, nur damt du eine Bsp Datei hast in der auch das Makro3 funktioniert.
Daher bitte ich dich, pass bitte einfach das aufgezeichnete Makro an, sodass es nicht nur mit den derzeitigen Daten funktioniert, sondern auch z.B. wenn in U18 nur 60 Zeilen, dafür aber 7000 Zeilen in Ergebnis stehen. Es macht ja abgesehen davon genau das was ich möchte.
Vielen Dank
Gruß
Christian
Anzeige
AW: Bitte um ein Makro das Daten kopiert und löscht
04.12.2019 09:56:20
Werner
Hallo Christian,
dein Makro3 interessiert mich im Moment mal nicht, das läuft deinen Angaben zufolge ja so wie es soll.
Was ich brauche ist eine Beispielmappe mit deinen zwei Blättern und ein paar Beispieldaten. Mir geht es um den strukturellen Aufbau deiner beiden Blätter.
Beispielsweise:
-wieviele Spalten haben deine Blätter
-gibt es Überschriften, wenn ja wo sind die
-wo beginnen die eigentlichen Daten die bearbeitet werden
Also bitte eine Beispielmappe die im Tabellenaufgau exakt deinem Original entsprechen, mit ein paar Beispieldaten.
Gruß Werner
AW: Bitte um ein Makro das Daten kopiert und löscht
04.12.2019 10:01:51
Christian
Hallo Werner,
ok, dann war das ein Misverständnis, bekomme allerdings in ein paar Minuten Besuch, eine solche Mappe stelle ich dir gerne heute Mittag / nachmittag zusammen, wenn der Besuch weg ist.
Gruß
Christian
Anzeige
Beispieldatei
04.12.2019 13:06:03
Christian
Hallo Werner,
ich hoffe meine Datei kann in etwa das wiederspiegeln wie die Datei aussieht wenn das Makro starten soll.
Ich habe 3 Bereiche farblich markiert.
Der rote Bereich besteht aus Zeilen, die bei Start des Makros nur einen Inhalt in Spalte A und D haben. Dieser steht immer am Ende von Tabelle Ergebnis.
Der rote Bereich wird dann durch das Makro3 gefüllt.
Der blaue Bereich ist der, in den die 12 Zeilen aus U18 kopiert werden sollen.
Der grüne Bereich sind Zeilen, die überall in dem Blatt vorkommen können, in denen keine Einträge in den Spalten F bis J stehen., also auch keine Zahl zwischen 1 und 17. Diese Zeilen sollen nicht von dem Makro ins Blatt U18 kopiert werden, sondern im Blatt Ergebnis bleiben.
In diesen Zeilen hat das Makro3 durch eine Formel "" ausgegeben und dann den Wert eingefügt.
Die Formeln, die das Makro3 kopiert hab ich in dem Beispiel weggelassen, sie würden ohne die weiteren Blätter ja sowieso nur #NV oder #WERT ausgeben.
Zu deinen Fragen, beide Tabellen haben 10 Spalten, keine Überschriften.
Die Zeilen die von U18 nach Ergebnis kopiert werden sollen beginnen ab Zeile1,
die Zeilen die nachher von Ergebnis nach U18 kopiert werden sollen, kann man keine festen Zeilennummern sagen, einfach alle Zeilen, in denen in Spalte G eine Zahl zwischen 1 und 17 steht.
Hoffe das hat jetzt alle Fragen beantwortet.
Gruß
Christian
Anzeige
AW: Beispieldatei
06.12.2019 07:39:03
Christian
Hallo Werner,
was ist los? gibt es irgendwelche Probleme mit der Datei?
Gruß
Christian
AW: keine Datei
07.12.2019 10:39:49
Hajo_Zi
Hallo Christian,
in Deinem Beitrag ist keine Datei verlinkt.

AW: keine Datei
07.12.2019 19:46:55
Hajo_Zi
das geht nicht, da eine XLSX Datei kein Makro enthalten kann.
Ich sehe keinen Grund eine Datei 2x zu speichern und den Code einzufügen.
Ich führe keine Liste unter welchem Dateinamen ich die Datei aus dem Forum gespeichert habe gespeichert habe.
Der Name steht ja im Beitrag.
Gruß Hajo
Anzeige
AW: keine Datei
07.12.2019 20:20:02
Christian
Hallo hajo. Anscheinend hast du nicht alle Beiträge zu dem Thema gelesen. Die Datei war bereits vorhanden und werner und ich haben uns geeinigt dass das makro3 nicht in der beispieldatei von nöten ist. Das makro3 benötigt 9 weitere Blätter damit die Formeln funktionieren die das makro3 kopiert, in deren Struktur du dich hineindenken müsstest obwohl keine einzige Änderung am Makro3 gewünscht ist. Daher der Verzicht.
hab beim ersten mal die Datei vergessen
04.12.2019 13:07:01
Christian
Hallo Werner,
ich hoffe meine Datei kann in etwa das wiederspiegeln wie die Datei aussieht wenn das Makro starten soll.
Ich habe 3 Bereiche farblich markiert.
Der rote Bereich besteht aus Zeilen, die bei Start des Makros nur einen Inhalt in Spalte A und D haben. Dieser steht immer am Ende von Tabelle Ergebnis.
Der rote Bereich wird dann durch das Makro3 gefüllt.
Der blaue Bereich ist der, in den die 12 Zeilen aus U18 kopiert werden sollen.
Der grüne Bereich sind Zeilen, die überall in dem Blatt vorkommen können, in denen keine Einträge in den Spalten F bis J stehen., also auch keine Zahl zwischen 1 und 17. Diese Zeilen sollen nicht von dem Makro ins Blatt U18 kopiert werden, sondern im Blatt Ergebnis bleiben.
In diesen Zeilen hat das Makro3 durch eine Formel "" ausgegeben und dann den Wert eingefügt.
Die Formeln, die das Makro3 kopiert hab ich in dem Beispiel weggelassen, sie würden ohne die weiteren Blätter ja sowieso nur #NV oder #WERT ausgeben.
Zu deinen Fragen, beide Tabellen haben 10 Spalten, keine Überschriften.
Die Zeilen die von U18 nach Ergebnis kopiert werden sollen beginnen ab Zeile1,
die Zeilen die nachher von Ergebnis nach U18 kopiert werden sollen, kann man keine festen Zeilennummern sagen, einfach alle Zeilen, in denen in Spalte G eine Zahl zwischen 1 und 17 steht.
Hoffe das hat jetzt alle Fragen beantwortet.
Gruß
Christian
https://www.herber.de/bbs/user/133602.xlsx
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige