2.1k Aufrufe
Gefragt in Datenbanken von cccs Einsteiger_in (59 Punkte)
Hallo,
ich habe eine Tabelle mit ca. 30.000 Zeilen und 6 Spalten. Davon muß ich immer unterschiedliche Blöcke in eine neue Datei Kopieren. Mal von 500 - 4000, 21.000 - 23.500 usw. Das habe ich bisher immer Zeitaufwendig mit der Maus gemacht. Gibt es da eine Möglichkeit das über VBA mit einem Fenster oder eine Box auzuwählen?

Gruß Claus

[*]
[sup]*Threadedit* 18.06.2011, 10:53:16
Admininfo: Führe Threads bitte nicht fort, indem du weitere eröffnest, und vermeide Mehrfachanfragen! Die Datenbank und User werden es dir danken. Siehe FAQ 2, #3.
[/sup]

7 Antworten

0 Punkte
Beantwortet von paul1 Experte (4.9k Punkte)
Hallo Claus,

Deine Anfrage hat in mir Mitleidsgefühle erweckt, habe das Kopieren nachvollzogen und nach 500 Zeilen hab ich das Handtuch geworfen.

Ich hab zwar keine Ahnung von VBA, aber ich konnte ein Makro recherchieren, das eventuell vorläufig als Überbrückung dienen könnte.

Mittels Button z.B. Zeile 1 bis 3000 (oder Zellbereich A1:F3000).
z.B. von Tabelle 2 nach Tabelle1
Folgendes Makro einzufügen in einen CommandButton:

Sheets("Tabelle2").Range("A1:F3000").Copy Sheets("Tabelle1").Range("A1")

Den Zeilenbereich mittels Eingabebox festzulegen konnte ich leider nicht auf die Reihe kriegen.


Schöne Grüße

Paul1
[b]
0 Punkte
Beantwortet von cccs Einsteiger_in (59 Punkte)
Hallo Paul1,
danke für Deine Antwort. Da ich auch kaum Ahnung von VBA habe
hilft mir das leider nicht weiter.
Vielen Dank
Claus
0 Punkte
Beantwortet von fedjo Experte (2.2k Punkte)
Hallo Claus,
hab dir mal eine Musterdatei mit einem Makro erstellt.
Vielleicht hilft das weiter.

Gruß
fedjo
0 Punkte
Beantwortet von cccs Einsteiger_in (59 Punkte)
Hallo Fedjo,
genau sowas habe ich gesucht.
Vielen Dank.
Gruß Claus
0 Punkte
Beantwortet von cccs Einsteiger_in (59 Punkte)
Hallo Fedjo,
gibt es auch eine möglichkeit den Dateinamen zu Wählen?
Gruß Claus
0 Punkte
Beantwortet von fedjo Experte (2.2k Punkte)
Hallo Claus,
das Makro austauschen:

Private Sub CommandButton1_Click()
Application.ScreenUpdating = False
b = InputBox("z.B 1500:5000", "Bitte Zeilen eingeben", "1500:5000")
If b = "" Then Exit Sub
Workbooks("Mappe1.xls").Sheets("Tabelle1").Range(b).Copy
Workbooks.Add 'Ordner wird erstellt
ActiveWindow.Caption = "Neue Datei" 'Arbeitsmappe Name
Sheets.Add.Name = "Neu" 'Neuer Ordner neue Tabelle Name
Workbooks("Mappe1.xls").Sheets("Tabelle1").Range(b).Copy Sheets("Neu").Cells(1)
End Sub

Gruß
fedjo
0 Punkte
Beantwortet von cccs Einsteiger_in (59 Punkte)
Hallo Fedjo,
Wunderbar. Vielen Dank
...