Thema Datum  Von Nutzer Rating
Antwort
Rot Dynamisches Kopieren von Werten
17.01.2018 13:43:57 Fab_VBA
NotSolved
18.01.2018 03:49:33 Werner
*****
Solved

Ansicht des Beitrags:
Von:
Fab_VBA
Datum:
17.01.2018 13:43:57
Views:
856
Rating: Antwort:
  Ja
Thema:
Dynamisches Kopieren von Werten

Hallo Leute,

ich möchte den Arbeitsprozess in einer Excel-Datei so weit wie möglich automatisieren und ich denke, ein VBA-Code könnte mir da einiges an Arbeit ersparen. 

Ausgangslage: 

Ich habe zwei Dateien A und Z. Die Werte in der Datei A (Tab 1) werden stets gepflegt, neu hinzugekommene Aufträge werden dabei immer mit "new" in der Spalte Z markiert. 

Beispiel: 10. Arbeitstag: alle vorherigen Auftrage (bis zum 9. Arbeitstag) stehen nun auf "existing" und die Aufträge, die am 10. Tag eingegangen sind, erhalten den Wert "new". Am 11. Arbeitstag wird der Status der Aufträge vom 10. Tag von "new" auf "existing" gestellt und die Aufträge vom 11. Arbeitstag erhalten "new". Datei A ist eine fortlaufende Datei und die neuen Aufträge werden immer unten angefügt.

Nun muss ich jeden Tag die Aufträge die mit "new" gekennzeichnet sind, in die Datei Z, Tab 1| Grunddaten manuell via Wertekopie einfügen. Datei Z ist auch eine fortlaufende Datei und die Werte werden immer an das untere Ende der Tabelle angefügt. 

Meine Überlegungen waren bis jetzt, dass ein Makro diesen Kopiervorgang übernehmen könnte. Das Makro muss allerdings in der Datei A dynamisch die erste Zeile erkennen, in der in der Spalte T ein "new" steht und ab dieser Zeile alls nach unten hin markieren und kopieren (Wichtig: Bis ca. T125000 sind alle Aufträge auf existing!). Genauso muss das Makro in der Datei Z dynamisch die erste Zeile erkennen, in der kein Wert steht, damit die neuen Aufträge forlaufend angefügt werden konnen. Das ganze durch eine uneinheitliche Spaltenstruktur der beiden Excel-Dateien erschwert, zB Spalte W in Datei A muss in die Spalte B in Datei Z. 

Anbei habe ich mal den VBA-Recorder mitlaufen lassen. Dabei waren beide Mappen geöffnet

Sub Werte_kopieren()

    'Kopiervorgang für Spalte W
    Windows("DateiA.xlsb").Activate     'gehe in DateiA, Tab 1
    Range("W133888").Select             'Kopiere Spalte W133888 bis ans untere Ende. Bei W133888 soll die Zeilenangabe dynamisch sein
    Range(Selection, Selection.End(xlDown)).Select
    Selection.Copy
    
    Windows("Datei Z.xlsb").Activate    'gehe in DateiZ Tab 1 Grunddaten
    Range("B14241").Select              'Füge die Werte via Wertekopie ein. Bei B14241 soll die Zeilenangabe dynamisch sein
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    
    
    'Nun wird der Vorgang nochmal für die Spalte H wiederholt
    Windows("Datei A.xlsb").Activate
    Range("H133888").Select
    Range(Selection, Selection.End(xlDown)).Select
    Application.CutCopyMode = False
    Selection.Copy
    Windows("Datei Z.xlsb").Activate
    Range("I14241").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("I14242").Select
    
End Sub

Da ich leider relativ unerfahren mit VBA-Codes bin, wäre ich über Tipps und Anregungen sehr dankbar!

 

Viele Grüße

Fabi

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Dynamisches Kopieren von Werten
17.01.2018 13:43:57 Fab_VBA
NotSolved
18.01.2018 03:49:33 Werner
*****
Solved