Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1268to1272
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
Bestimmte Zeilen löschen.
Golem
Hallo Excel-Fachleute,
meine Frage ist, ob evtl. schon fertige Lösungen für meinen folgen Wunsch vorhanden sind.
Ich habe ein Arbeitsblatt mit gefüllte Zeilen von A1 bis A530053. Diese Spalte möchte ich zur besseren Bearbeitung
und Übersichtlichkeit in 10 Einzelspalten aufteilen ( A1 bis A53053, B1 bis B53053, usw. ).
Bisher kopiere ich von A1 bis A53053 die Zeilen und kopiere diesen Bereich in ein anderes Blatt ( danach A53054 bis A106107, usw. ). Dieses Kopieren ist aber sehr aufwendig.
Ich stelle mir vor, dass auch eine andere Lösung mit VBA möglich sein könnte.
Z.B. ich betätige ein Button, wodurch sich ein Fenster öffnet und in diesem die Anfangs- und Endzeile des zu kopierenden Bereichs eingegeben werden kann. Ich drücke Enter und alle anderen Zeilen werden gelöscht.
Danach kopiere ich die verbleibenden Zeilen in ein anderes Blatt.
Für evtl. Tipps oder Anregungen schon mal besten Dank!
Golem

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

Betreff
Benutzer
Anzeige
AW: Bestimmte Zeilen löschen.
20.06.2012 12:14:25
Reinhard
Hallo Golem,
stimmen die Zahlen, ich glaube das nicht.
Option Explicit
Sub tt()
Dim Zei As Long, Spa As Long, wks As Worksheet
Set wks = Worksheets("Tabelle1")
Application.ScreenUpdating = False
Worksheets.Add after:=Worksheets(Worksheets.Count)
With ActiveSheet
For Spa = 1 To 10
wks.Cells(Zei + 1, 1).Offset(53053, 1).Copy .Cells(1, Spa)
Zei = Zei + 53053
Next Spa
End With
Application.ScreenUpdating = True
End Sub

Gruß
Reinhard
AW: Bestimmte Zeilen löschen.
20.06.2012 12:17:43
Rudi
Hallo,
wks.Cells(Zei + 1, 1).Offset(53053, 1).Copy .Cells(1, Spa)
Das ist ja nur 1 Zelle!
Resize statt OffSet!
Gruß
Rudi
Anzeige
Danke für die Korrektur :-) o.w.T.
20.06.2012 12:30:04
Reinhard

AW: frage
20.06.2012 12:39:44
hary
Moin ihr beide
mit offset gehe ich doch zu dieser Zelle,waere es nicht:

Cells(Zei + 1, 1).Resize(53053,1 )

gruss hary
AW: Bestimmte Zeilen löschen.
20.06.2012 15:33:07
Golem
Hallo Reinhard,
die Zahlen stimmen. In Excel 2007 hat ein Tabellenblatt 1.048.576 Zeilen und 16.384 Spalten.
Wie schon angegeben, kopiere ich 1 x von A1 bis A53053, 1 x von A53054 bis A106107, 1 x von106108 bis A159161, 1 x von A159162 bis A212214, 1 x A212215 bis 265268 usw. .
Deswegen auch die Überlegung, die Anfangs- und Endwerte über eine Maske einzugeben.
Schöne Grüße
Golem
AW: Bestimmte Zeilen löschen.
20.06.2012 17:46:08
Reinhard
Hallo Golem,
es geht um dein "usw.".
Du hast Blöcke von 53.053 Zeilen, 10 dieser Blöcke sind also 530.530 Zeilen lang.
Du aber sprichst von A1 bis A530053.
Ich habe dir Lösungscode gebastelt. Wenn du das dynamisch haben willst empfiehlt sich schon
eine Userform mit drei Textboxen wo du Anfangszeile des aufzuteilenden Bereiches eingibst, dazu Endzeile und die Blocklänge.
Lohnt sich aber nur wenn sich diese Werte permanent ändern bzw. der gleiche Code in verschiedenen mappen benutzt wird.
Gruß
Reinhard
Anzeige
AW: Bestimmte Zeilen löschen.
20.06.2012 18:49:20
Golem
Hallo Reinhard,
jetzt habe ich Deine Anmerkung verstanden. Es ist von mir ein Fehler, Du hast recht.
Jeder aufzuteilende Block ist 530530 Zeilen lang.
Ich habe 27 Blöcke aufzuteilen und evtl. verändere ich auch einmal die einzelnen Blocklängen
Ich habe Deinen Code ausprobiert ( auch mit der Änderung "Resize" ).
Der Code verändert in einer Testmappe nicht die Anzahl der Zeilen. Sondern bei jedem Ausführen wird ein neues Tabellenblatt eingefügt.
Schöne Grüße
Golem

310 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige