Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
488to492
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
488to492
488to492
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro

Makro
22.09.2004 09:01:46
Sebastian
Hallo, ich brauche wieder Hilfe mit einem Makro.
Diesmal möchte ich alle belegten Felder einer Spalte in eine andere Excel-Mappe kopieren. Dort sollen die Daten dann in die letzte freie Zeile einer Spalte eingefügt werden.
Vielen Dank auch diesmal schon für eure Hilfe.

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro
Nike
Hi,
mal so versuchen und entsprechend anpassen:

Sub Kopier()
Dim wks As Worksheet
Dim wkbZiel As Workbook
Dim lngLZeil As Long
Dim rngSearch As Range
Set wks = ActiveSheet
Set wkbZiel = Workbooks.Open("C:/test.xls")
Set rngSearch = wks.Columns(1).SpecialCells(xlCellTypeConstants, 23)
rngSearch.Copy
With wkbZiel.Worksheets(1)
lngLZeil = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
.Range(.Cells(lngLZeil, 1), .Cells(lngLZeil + rngSearch.Cells.Count, 1)).Paste
End With
End Sub

Bye
Nike
AW: Makro
22.09.2004 10:13:17
Sebastian
Hallo Nike, danke für die schnelle Hilfe.
Leider kenne ich mich nicht so mit der VBA Sprache aus.
Wo kann ich die Spalten angeben, wo er kopieren soll und wo er einfügen soll.
Die zu kopierenden Daten befinden sich in der Spalte E ab Zeile 7. Eingefügt werden sollen die Daten in Spalte B ab Zeile 2 in der anderen Tabelle.Könntest du mir da noch mal helfen. Vielen Dank.
Anzeige
AW: Makro
Nike
Hi,
jetzt mal die Spalten als Variablen...
Die Suche erst ab der 7 Stelle losgehen zu lassen ist etwas aufwaendiger.
Bye
Nike

Sub Kopier()
Dim wks As Worksheet
Dim wkbZiel As Workbook
Dim lngLZeil As Long
Dim rngSearch As Range
dim intQuellSpalt as integer
dim intZielSpalt as integer
Set wks = ActiveSheet
Set wkbZiel = Workbooks.Open("C:/test.xls")
intQuellSpalt = 5 'Spalte E
intZielSpalt = 2 'Spalte B
Set rngSearch = wks.Columns(intQuellSpalt).SpecialCells(xlCellTypeConstants, 23)
rngSearch.Copy
With wkbZiel.Worksheets(1)
lngLZeil = .Cells(.Rows.Count, intZielSpalt).End(xlUp).Row + 1
.Range(.Cells(lngLZeil, intZielSpalt), .Cells(lngLZeil + rngSearch.Cells.Count, intZielSpalt)).Paste
End With
End Sub

Anzeige
AW: Makro
22.09.2004 13:18:39
Sebastian
Hallo,
die vorletzte Zeile:
.Range(.Cells(lngLZeil, intZielSpalt), .Cells(lngLZeil + rngSearch.Cells.Count, intZielSpalt)).Paste
wird mir immer als Fehler angezeigt. Muss ich dort auch noch eine Veränderung vornehmen?
Vielen Dank
AW: Makro
Nike
Hi,
vielleicht noch eine Zeile extra:
.Range(.Cells(lngLZeil, intZielSpalt), .Cells(lngLZeil + rngSearch.Cells.Count + 1, intZielSpalt)).Paste
bye
Nike
AW: Makro
23.09.2004 08:00:23
Sebastian
Hallo Nike,
der Fehler bleibt. Vielleicht liegt das auch daran, dass das eine spanische Version von Excel ist und er mit dem Befehl nicht klarkommt, weil deutsche Wörter drin sind.
Allerdings konnte er in den Zeilen davor damit umgehen.
Ich werd es wohl nie erfahren. Trotzdem vielen Dank.
Falls es nicht an der Sprache liegen kann, kannst du dich ja noch mal melden.
Anzeige
AW: Makro
Nike
Hi,
mit der Sprache hat das nix zu tun, (Eo no habla Espanol ;-)
ich hatte vergessen,
das nicht zusammenhaengende Bereiche nicht kopiert werden koennen,
daher mal so probieren:

Sub Kopier()
Dim wks As Worksheet
Dim wkbZiel As Workbook
Dim lngLZeil As Long
Dim rngSearch As Range
Dim rngCell As Range
Set wks = ActiveSheet
Set wkbZiel = Workbooks.Open("C:/test.xls")
intQuellSpalt = 5 'Spalte E
intZielSpalt = 2 'Spalte B
Set rngSearch = wks.Columns(intQuellSpalt).SpecialCells(xlCellTypeConstants, 23)
With wkbZiel.Worksheets(1)
lngLZeil = .Cells(.Rows.Count, intZielSpalt).End(xlUp).Row + 1
For Each rngCell In rngSearch
rngCell.Copy .Cells(lngLZeil, intZielSpalt)
lngLZeil = lngLZeil + 1
Next
End With
wkbZiel.Close True
End Sub

Bye
Nike
Anzeige
AW: Makro
23.09.2004 14:28:35
Sebastian
Hallo Nike,
das Makro läuft jetzt. Ich hab jetzt aber das Problem, dass er ab Spalte 5 kopiert und nicht erst ab Spalte 7. Ich hab dann in deinem Code die Zeile
intQuellSpalt = 5 'Spalte E
die 5 auf 7 geändert. Das hat leider nichts geändert. wenn ich es auf 8 geändert habe, wurde mir wieder der alte Fehler angezeigt. Muss ich noch etwas anderes ändern?
Auf jeden Fall schon mal vielen Dank.
AW: Makro
Nike
Hi,
kann es sein, das du geschuetzte/verbundene Spalten bzw Zellen hast?
Ansonsten duerfte es eigentlich unabhaengig von den Spalten sein...
Bye
Nike
AW: Makro
24.09.2004 08:11:32
Sebastian
Hallo Nike,
ich hab dir die Datei mal hochgeladen. Die Daten der Spalte E sollen immer erst ab Zeile 7 kopiert werden. Ich hatte wohl nicht erwähnt, dass dort noch eine Überschrift ist.
Um das Problem zu lösen ist mir noch eine andere Variante eingefallen, vielleicht ist die ja leichter zu lösen: Kann man eine Funktion erstellen, die in verschiedenen eigenständigen Dateien eine Spalte (die Spalte E9) durchsucht und guckt, ob Nummern doppelt sind? Ich hoffe, dass ich dir jetzt nicht den letzten Nerv geraubt habe. Nochmal vielen Dank für deine Hilfe.
https://www.herber.de/bbs/user/11238.xls
Anzeige
AW: Makro
Nike
Hi,
willst du von D:\datos\test.xls auf diese oder umgekehrt kopieren?
Vielleicht noch eine abgespeckte Datos.xls hochladen?
Ausserdem hast du nen externen Bezug auf ne andere Datei in der Tage Spalte...
Bye
Nike
AW: Makro
24.09.2004 14:30:52
Sebastian
Ich will auf die Datei D:\datos\test.xls kopieren.
Diese Datei ist im momentan leer. Die Bezüge in der Tage-Spalte beziehen sich auf eine andere Tabelle, die ich zum rechnen brauche. Mein Problem ist ja, dass er mir die Überschrift mitkopiert und ich nicht weiss, wie ich den Code ändern muss, dass er erst nach der Überschrift anfängt zu kopieren. Ich hab jetzt die Datei noch mal hochgeladen, ohne externe Bezüge. Meintest du das mit abgespeckte Datos.xls hochladen? Ansonsten ist ja die Datei D:\datos\test.xls ein leeres Blatt.
Bis dann
Sebastian
https://www.herber.de/bbs/user/11270.xls
P.S: Hast du dir meine andere Frage durchgelesen. Was hältst du davon? Ist das einfacher oder gar nicht erst möglich?
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige