Supportnet / Forum / Tabellenkalkulation
speichern anderes Laufwerk (makro)
Frage
hallo zusammen
Seit längerem bin ich am probieren wie es gehen könnte:
Folgendes:
Habe ein makro gepostet es läuft prima. Nur
ich möchte, dass in der Datei "kontrolle TR" eine neue Zeile eingefügt wird, sodass immer die zuletzt übertragenen Daten zuoberst sind.
Hier das makro:
Sub DatenExportieren()
Const LW = "W:"
Const Pfad = "W:scheiwiVORLAGEN"
Const Datei = "W:Kontrolle TR.xls"
ChDrive LW
ChDir Pfad
On Error Resume Next
Wert = Workbooks("Normale Datei.xls").Worksheets("tabelle1").Range("b3").Value
Workbooks.Open Datei
Workbooks("Kontrolle TR.xls").Worksheets("rock").Range("A2").Value = Wert_
Wert = Workbooks("Normale Datei.xls").Worksheets("tabelle1").Range("a3").Value
Workbooks.Open Datei
Workbooks("Kontrolle TR.xls").Worksheets("rock").Range("b2").Value = Wert
´Application.DisplayAlerts = False
Workbooks("Kontrolle TR.xls").Save
Workbooks("Kontrolle TR.xls").Close
On Error GoTo 0
End Sub
Ach ja noch etwas. Es funktioniert nur wenn die Datei "kontrolle TR" offen ist. Wäre schön wenn das makro ausgeführt werden kann ohne dass die Datei geöffnet ist.
Für alle Vorschläge bin ich euch dankbar
Grüsse Maxli
Antwort 1 von coros
Hi maxli,
nachfolgender Code sollte das machen, was Du möchtest. Tausche ihn gegen Deinen alten aus.
Der Code kopiert die Wert aus den Zelle A3 und B3 und fügt sie in der anderen Datei in Zeile 2 wieer ein. Die alten Daten werden um eine Zeile tiefer verschoben.
Die Datei, in die Du kopieren möchtest muss geöffnet sein, snst funktioniert das nicht. Das ist halt bei Excel so. Ich habe Dir allerdings einen Befehl eingebaut, der verhindert, dass Du das öffnen der Datei optisch mitbekommst. Es handelt sich um die Zeile
Application.ScreenUpdating = False
Diese Zeile schaltet für die Ablaufdauer des Makros die Bildschirmaktualisierung aus.
Ich hoffe, der Code ist so, wie Du es Dir vorgestellt hast.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
nachfolgender Code sollte das machen, was Du möchtest. Tausche ihn gegen Deinen alten aus.
Sub DatenExportieren()
Application.ScreenUpdating = False
Const LW = "W:"
Const Pfad = "W:scheiwiVORLAGEN"
Const Datei = "W:Kontrolle TR.xls"
ChDrive LW
ChDir Pfad
On Error Resume Next
Workbooks.Open Datei
Workbooks("Normale Datei.xls").Worksheets("tabelle1").Range("A3:B3").Copy
Workbooks("Kontrolle TR.xls").Worksheets("rock").Range("A2").Insert Shift:=xlDown
Workbooks("Kontrolle TR.xls").Save
Workbooks("Kontrolle TR.xls").Close
On Error GoTo 0
End SubDer Code kopiert die Wert aus den Zelle A3 und B3 und fügt sie in der anderen Datei in Zeile 2 wieer ein. Die alten Daten werden um eine Zeile tiefer verschoben.
Die Datei, in die Du kopieren möchtest muss geöffnet sein, snst funktioniert das nicht. Das ist halt bei Excel so. Ich habe Dir allerdings einen Befehl eingebaut, der verhindert, dass Du das öffnen der Datei optisch mitbekommst. Es handelt sich um die Zeile
Application.ScreenUpdating = False
Diese Zeile schaltet für die Ablaufdauer des Makros die Bildschirmaktualisierung aus.
Ich hoffe, der Code ist so, wie Du es Dir vorgestellt hast.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 2 von maxli
Hallo zusammen
Danke coros für deine hilfe.
Es fügt in der Datei "Kontrolle TR" nun eine Zeile ein das ist gut. Einige Zellen die kopiert werden sind voll von Formeln, sodass nur der Wert kopiert werden muss. Ist es möglich dass es mit "value=wert" etwas zu tun hat. Was aber immer noch nicht geht ist, dass es mir die Datei "Kontrolle TR" für die speicherung auch öffnet. Es speichert nur wenn die Datei bereits offen ist. Geschlossen wird sie dann automatisch.
Wäre super wenn noch einmal jemand das makro anschauen könnte.
Grüsse Maxli
Danke coros für deine hilfe.
Es fügt in der Datei "Kontrolle TR" nun eine Zeile ein das ist gut. Einige Zellen die kopiert werden sind voll von Formeln, sodass nur der Wert kopiert werden muss. Ist es möglich dass es mit "value=wert" etwas zu tun hat. Was aber immer noch nicht geht ist, dass es mir die Datei "Kontrolle TR" für die speicherung auch öffnet. Es speichert nur wenn die Datei bereits offen ist. Geschlossen wird sie dann automatisch.
Wäre super wenn noch einmal jemand das makro anschauen könnte.
Grüsse Maxli
Antwort 3 von coros
Hi Maxli,
nachfolgrnd das geänderte Makro, wie es nun funktionieren sollte.
Ich hoffe, dass es nun so ist, wie Du es Dir vorgestellt hast. Wenn nicht, dann melde Dich noch mal.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
nachfolgrnd das geänderte Makro, wie es nun funktionieren sollte.
Sub DatenExportieren()
Application.ScreenUpdating = False
Const Datei = "W:\scheiwiVORLAGENKontrolle TR.xls"
On Error Resume Next
Workbooks.Open Datei
Workbooks("Kontrolle TR.xls").Worksheets("rock").Rows("2:2").Insert Shift:=xlDown
Workbooks("Mappe11.xls").Worksheets("tabelle1").Range("A3:B3").Copy
Workbooks("Kontrolle TR.xls").Worksheets("rock").Range("A2").PasteSpecial _
Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Workbooks("Kontrolle TR.xls").Save
Workbooks("Kontrolle TR.xls").Close
On Error GoTo 0
End Sub
Ich hoffe, dass es nun so ist, wie Du es Dir vorgestellt hast. Wenn nicht, dann melde Dich noch mal.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 4 von coros
Hi ich noch mal,
das das mit dem Problem der Darstellung des Backslash noch nicht behoben ist, poste ich das Makro noch mal mit hoffentlich allen Backslash´s.
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
das das mit dem Problem der Darstellung des Backslash noch nicht behoben ist, poste ich das Makro noch mal mit hoffentlich allen Backslash´s.
Private Sub CommandButton1_Click()
Sub DatenExportieren()
Application.ScreenUpdating = False
Const Datei = "W:\scheiwi\VORLAGEN\Kontrolle TR.xls"
On Error Resume Next
Workbooks.Open Datei
Workbooks("Kontrolle TR.xls").Worksheets("rock").Rows("2:2").Insert Shift:=xlDown
Workbooks("Mappe11.xls").Worksheets("tabelle1").Range("A3:B3").Copy
Workbooks("Kontrolle TR.xls").Worksheets("rock").Range("A2").PasteSpecial _
Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
Workbooks("Kontrolle TR.xls").Save
Workbooks("Kontrolle TR.xls").Close
On Error GoTo 0
End Sub
MfG,
coros
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 5 von maxli
hallo
Besten dank für deine hilfe. Klappt super. Und noch ein kompliment zu deiner HP. Sind prima nachvollziehbar deine Beispiele.
Grüsse
Maxli
Besten dank für deine hilfe. Klappt super. Und noch ein kompliment zu deiner HP. Sind prima nachvollziehbar deine Beispiele.
Grüsse
Maxli

