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

Daten mit Makro übertragen

Daten mit Makro übertragen
27.06.2007 00:04:53
Hans-Joachim
Kompliziert.
Ich habe mir ein Makro erstellt, mit dem ich Daten aus einer aktuellen Tabelle in eine Archivtabelle übertrage.
So werden z.B. Daten aus der Tabelle "Eingabe18.xls" in die Tabelle "Archiv.xls" übertragen. Funktioniert gut.
Dabei habe ich das Problem, dass ich jedoch für die nächste Tabelle im Makro z.B. "Eingabe18.xls" von Hand in "Eingabe19.xls" ändern muss.
Problem ist der Rücksprung auf die jeweils aktive Tabelle.

Sub Daten_uebertragen()
Application.ScreenUpdating = False
Range("B3:J11").Select
Selection.Copy
Windows("Archiv.xls").Activate
Sheets("Archiv (7)").Select
Range("D4").Select
For Each Cell In Range("D4:D2081")
If ActiveCell  [F1] Then
ActiveCell(Selection.Rows.Count + 1, 1).Select
End If
Next
For Each Cell In Range("D4:D2081")
If ActiveCell  "" Then
ActiveCell(Selection.Count, 1 + 1).Select
End If
Next
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.FormatConditions.Delete
Windows("Eingabe18.xls").Activate '-Dies ändere ich immer von Hand in diesem Makro
Next
Application.ScreenUpdating = True
End Sub


Geht das nicht einfacher, ohne dass ich im Makro von Hand ("Eingabe18.xls") in ("Eingabe19.xls") ändern muss?
Wäre toll, wenn jemand einen Lösungsvorschlag hätte. Vielen Dank.
Viele Grüße
Hans

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
meinst Du so ...
27.06.2007 00:19:44
Matthias
Hallo Hans
... meinst Du in dieser Art
Mal nur als Msgbox zum Veranschaulichen. Das Nachbauen ist mir zu kompliziert.

Sub Daten_uebertragen()
Dim X
For X = 18 To 22
'Windows("Eingabe" & X & ".xls").Activate
MsgBox "Eingabe" & X & ".xls"
Next
End Sub


AW: meinst Du so ...
27.06.2007 00:45:00
Hans-Joachim
Nicht so ganz.
Das Makro befindet sich in "Archiv.xls".
Wenn "Eingabe18.xls" erledigt ist, kommt "Eingabe19.xls" dran.
Wäre mit "Input-Box" anstelle von "MSG-Box" nicht besser? Oder habe ich da jetzt etwas falsch verstanden?
Eine kurze Erklärung wäre schon mal eine große Hilfe.
(VBA und ich, zwei Welten prallen ...)
Danke
Gruß Hans

Anzeige
bitte mit Sicherungskopie testen !!
27.06.2007 01:11:00
Matthias
Hallo Hans
mit der Msgbox hatte ich doch geschrieben "nur zum veranschaulichen!"
Damit wollte ich Dir zeigen das die Variable X immer um einen Zähler erhöht wird während des Schleifendurchlaufes.
also ... Eingabe18.xls - Eingabe19.xls - Eingabe20.xls u.s.w das muß doch funktioniert haben.
setz das mal so um: (Ich konnte es aber nicht testen!)
Deshalb unbedingt mit einer mit Sicherungskopie probieren !!

Sub Daten_uebertragen()
Dim X
For X = 18 To 22 'anpassen! Windows("Eingabe18.xls") bis Windows("Eingabe22.xls")
Application.ScreenUpdating = False
Range("B3:J11").Select
Selection.Copy
Windows("Archiv.xls").Activate
Sheets("Archiv (7)").Select
Range("D4").Select
For Each Cell In Range("D4:D2081")
If ActiveCell  [F1] Then
ActiveCell(Selection.Rows.Count + 1, 1).Select
End If
Next
For Each Cell In Range("D4:D2081")
If ActiveCell  "" Then
ActiveCell(Selection.Count, 1 + 1).Select
End If
Next
ActiveSheet.Paste
Application.CutCopyMode = False
Selection.FormatConditions.Delete
Windows("Eingabe" & X & ".xls").Activate
Application.ScreenUpdating = True
Next X
End Sub


Anzeige
AW: bitte mit Sicherungskopie testen !!
27.06.2007 01:51:38
Hans-Joachim
Hallo Matthias, danke für deine Hilfe.
Es sind nicht unbedingt immer aufeinander folgende Zahlen wie 18, 19 und 20. Es kann auch schon mal "Eingabe13.xls" oder "Eingabe29.xls" dazwischen hängen. Diese Datei wäre aber vor der Übertragung auf jeden Fall geöffnet.
Ich werde deinen Vorschlag mit einer Sicherungskopie testen und dir dann Rückmeldung geben. Okay?
Gruß Hans

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige