Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
668to672
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
668to672
668to672
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Geht das ???

Geht das ?
18.09.2005 08:27:02
Walter
Guten Morgen Fachleute,
erst mal noch einen schönen Sonntag.
Ich habe folgendes:
Ich kopiere mittels BAT-Datei eine Datei (Näherei.xls) vom Laufwerk "V" nach
Laufwerk "C".
In der Datei "Näherei.xls" sind drei Mappen: "Hosen", "Röcke und
"Gesamt-Übersicht-Datenbank".
Nun möchte ich das bei erneuten kopieren die Daten in der Mappe
"Gesamt-Übersicht-Datenbank", nicht überschrieben werden:
wenn die Zelle "A2" mit Daten belegt ist, bzw. in der Spalte "A" Daten drin sind außer Zeile 1, da hier die Überschriften sind.
Grund ist da ich ab u. zu Veränderungen am Makros oder der UF durchführe.
Vielleicht hat jemand eine Idee,
gruß Walter

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

Betreff
Datum
Anwender
Anzeige
AW: Geht das ?
18.09.2005 09:33:43
Ramses
Hallo
Wenn das mit einem Batch File machst, geht das nicht.
Workaround
Teile deine Datei auf, dass die Datenbank extra verwaltet wird.
Gruss Rainer
AW: Geht das ?
18.09.2005 10:20:59
Walter
Hallo Rainer,
wenn das nicht mit einer BAT-Datei, dann WIE?
Aufteilen, meinst Du dann 2 .xls Dateien ? Workaround ?
Gruß Walter
AW: Geht das ?
18.09.2005 10:35:39
Ramses
Hallo
"...meinst Du dann 2 .xls Dateien ..."
Genau.
Dann kannst du mit der BAT Datei deine normale Datei kopieren, und deine Datenbankdatei bleibt unberührt.
Alternativ, wenn es NUR um den Import geht, kannst du das auch in VBA programmieren.
Gruss Rainer
AW: Geht das ?
18.09.2005 10:45:05
Walter
Hallo Rainer,
hast Du vielleicht von deinem Alternativ ein Beispiel ?
Wollte eigentlich als eine Datei lassen.
Gruß Walter
Anzeige
AW: Geht das ?
18.09.2005 13:18:23
Ralf
Hallo Walter,
vieles davon kannst Du allein erledigen. Damit aber die Orginaldateien erst einmal erhalten bleiben erstelle Dir 2 neue Dateien. Original.xls in V und Kopie.xls in C.
Schließe die Kopie.xls. In der Original.xls (da müssen nicht einmal Daten drin stehen) startest Du den Makrorecorder. Laß die Datei Kopie.xls öffnen, wechsle in Original.xls, markiere die Blätter, die Du kopieren willst, klicke auf die Markierung mit der rechten Maustaste und wähle (am Wahlsonntag) im Kontextmenü 'Verschieben, Kopieren' aus. Die Checkbox Kopieren aktivieren und OK. Halte den Makrorecorder an.
Jetzt erst brauchst Du Hilfe. Z.Bsp. überprüfen, ob in der Kopie Daten stehen (ist doch aber nach dem ersten Mal immer der Fall, oder?¿?). Oder möchtest Du, daß nur die neuen Daten angehängt werden? Egal, mach erst einmal soweit, dann kriegen wir die Sache schon angepasst.
Ciao, Ralf
Anzeige
AW: Geht das ?
18.09.2005 14:09:23
Walter
Hallo Ralf,
so was habe ich mir gedacht. Wenn ich die Datei kopiere wird eine AUTO-OPEN gestartet.
Gruß Walter
AW: Geht das ?
18.09.2005 19:17:54
Ralf
Hallo Walter,
keine Ahnung, was Du mit geöffnetem Auto-Open meinst.
Ich hab Dir mal ein Beispiel beigelegt, wie Du die Daten übertragen kannst (ohne daß das Makro überschrieben wird). In diesem Beispiel werden nur die neuen Datensätze seit der letzten Aktualisierung übertragen. Kopiere dieses Beispiel und füge es in ein Standardmodul ein. Das kannst Du dann immer aufrufen, wenn Du aktualisieren willst.

Sub Datentransfer()
Dim sLZOrg$, dblLZCop#, x%, oOrg As Workbook, oCop As Workbook
Application.DisplayAlerts = False
Set oOrg = Workbooks("Original.xls") 'Hier den Namen Deiner Originaldatei eintragen
Workbooks.Open Filename:="F:\Kopie.xls" 'in Pfad und Name der Zieldatei ändern
Set oCop = Workbooks("Kopie.xls") 'Hier den Namen Deiner Zieldatei eintragen
For x = 1 To oOrg.Sheets.Count
sLZOrg = oOrg.Sheets(x).Cells.SpecialCells(xlLastCell).Address
dblLZCop = oCop.Sheets(x).Cells.SpecialCells(xlLastCell).Row
oOrg.Sheets(x).Range("A" & dblLZCop + 1 & ":" & sLZOrg).Copy
oCop.Sheets(x).Activate
Range("A" & dblLZCop + 1).Select
ActiveSheet.Paste
Application.CutCopyMode = False
Next x
oCop.Save
oCop.Close
Application.DisplayAlerts = False
Set oOrg = Nothing
Set oCop = Nothing
End Sub

Hoffe, das ist das was Du wolltest.
Ciao, Ralf
Anzeige
AW: Geht das ?
19.09.2005 10:01:26
Walter
Hallo Ralf,
das ist Super das Du Dir so viel Arbeit gemacht hast.
Da kann ich was mit anfangen.
Thema: Auto-Open: wenn die Datei per DOS.BAT kopiert habe, wird dann die Datei von .www
.xls umbenannt und die Datei wird mit "START" aus der BAT Datei
gestartet.
Das kopieren der Datei kriege ich ja hin, die Datei nicht zu starten. Jetzt müsste ich noch eine Möglichkeit haben, die Datei, beide Dateien liegen auf C:\ also die Neue aber
auch die "Alte" die ich umbenannt habe.
Geht das irgendwie, das man beim "ersten" Aufruf der Datei eine Abfrage hinkriegt, die vorhandenen Daten kopiert und dann die "Alte" Datei löscht ?
Beim "zweiten" Aufruf sollte die Abfrage nicht erfolgen, da ja die "Alte" nicht mehr vorhanden ist. Hoffentlich habe ich das verständlich geschrieben.!
Gruß Walter

Anzeige
AW: Geht das ?
19.09.2005 12:17:19
Ralf
Hallo Walter,
erstmal Fehlerkorrektur. In der Anweisung Application.displayalerts = False (in der 4.letzten Zeile) das False durch True ersetzen. Typischer Kopierfehler bei schreibfaulen Menschen wie mir...:-)
Ansonsten hab ich nicht so richtig geschnallt was Du möchtest. Deine Angaben sind zu ungenau. Ich habe es so verstanden:
- Beide Dateien liegen auf C:. Das ist ja kein Problem. Ändere die Pfadangaben im Code.
- Du möchtest dass statt der Originaldatei lieber die Kopie geöffnet wird und das Original geschlossen wird? Ist das richtig? Oder was?
- Was für eine Abfrage willst Du starten? Generell ist das kein Problem, nur muss man wissen was abgefragt werden soll und wozu das Ergebnis genutzt werden soll.
- Die alte Datei soll ganz gelöscht werden? Wozu dann der Aufwand? Oder sollen nur die Daten darin gelöscht werden? Wenn ja, welche (Arbeitsblatt, Bereich(e)?, etc.)
Wäre hilfreich, wenn Du mal Schritt für Schritt, umgangssprachlich, erklären könntest was, wann, wo, wie ablaufen soll.
Ciao, Ralf
Anzeige
AW: Geht das ?
19.09.2005 21:54:12
Walter
Hallo Ralf,
Danke für dein Verständnis.
Habe jetzt folgendes mittels DOS.BAT Datei erreicht.Funktioniert auch.
Die vorhandene Datei wird in "C:\Näherei-www.xls" unbenannt, danach wird die Neue Datei vom Laufwerk "D:\Näherei.xls" nach "c:\" kopiert, funktioniert auch.
Nun möchte ich die Daten aus der Mappe "Datenbank" aus der ALTEN "C:\Näherei-www.xls"
in die NEUE Datei, Mappe "Datenbank" der Datei "C:\Näherei.xls" kopieren.
Und zwar sollen die Daten ab "Zeile 2"/"Spalte A" bis "Zeile ?"/"Spalte 21",
kopiert werden, da in Zeile 1 Überschriften stehen, die Daten nicht.
Gruß Walter
Anzeige
AW: Geht das ?
20.09.2005 19:39:52
Ralf
Hallo Walter,
Daten werden von A2 bis U(letzteZeile) von Näherei-www, nach Näherei von und in Mappe Datenbank kopiert.

Sub Datentransfer()
Dim dblLz#, oOrg As Workbook, oCop As Workbook
Application.DisplayAlerts = False
Set oOrg = Workbooks("C:\Näherei-www.xls") 'Hier den Namen Deiner Originaldatei eintragen
Workbooks.Open Filename:="C:\Näherei.xls"
Set oCop = Workbooks("Näherei.xls") 'Hier den Namen Deiner Empfängerdatei eintragen
dblLz = oOrg.Sheets("Datenbank").Cells.SpecialCells(xlLastCell).Row
oOrg.Sheets("Datenbank").Range("A2:U" & dblLz).Copy
oCop.Sheets("Datenbank").Activate
Range("A2").Select
ActiveSheet.Paste
Application.CutCopyMode = False
oCop.Save
MsgBox "Daten wurden übertragen"
oCop.Close
Application.DisplayAlerts = True
Set oOrg = Nothing
Set oCop = Nothing
End Sub

Ciao, Ralf
Anzeige
Ja Danke o.t.
20.09.2005 21:47:53
Walter
Hallo Ralf,
Danke war eine Super-Leistung.
Da ich ja beide Dateien schon mit der BAT Datei offen habe , habe ich nur etwas den
Öffnungspfad geändert.
DANKE
Gruß Walter

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige