1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Datei von Vorlage speichern, Makro

Discussion in 'Office-Programme' started by Sunshine0484, Aug 27, 2008.

Thread Status:
Not open for further replies.
  1. Hallo zusammen, ich habe mal wieder eine Frage. Zum besseren Verständnis mal die Beschreibung der aktuellen Situation:
    Wenn ich einen Auftrag eröffne, muss ich mehrere Vorlagen öffnen, dort überall Nummer, Name, Datum, etc. eintragen. Dann werden diese Dateien gespeichert. Ich möchte nun eine Excel-Datei zu erstellen, in die ich dann diese Daten einmalig eingebe, und dann ein Makro zu schreiben, was in etwa wie folgt funktionieren soll:
    öffne vorlage xx.xls
    kopiere A1 in B4, A2 in C3, etc. (evtl. mit SVERWEIS)
    speichere datei unter 'Name aus Zelle A1'.xls in Verzeichnis xy
    öffne vorlage yy
    ...
    Öffnen und Daten übertragen ist ja kein Problem. Auch das Speichern ansich nicht. Jedoch soll der Name der Datei aus einer bestimmten Zelle übernommen werden. Wie mache ich das? Kenne mich mit den Befehlen in VBA leider überhaupt nicht aus.
    Bisher sieht mein erster und sehr simpler Test so aus (einfach Makro aufgenommen):

    Sub Makro1()
    '
    ' Makro1 Makro
    ' Makro am 27.08.2008 von aufgezeichnet
    '

    '
    Workbooks.Open Filename:= _
    "C:\Documents and Settings\Administrator\My Documents\test vba\teil1.xls"
    Windows("daten.xls").Activate
    Range("B1").Select
    Selection.Copy
    Windows("teil1.xls").Activate
    Range("C5").Select
    ActiveSheet.Paste
    Windows("daten.xls").Activate
    Range("B2").Select
    Application.CutCopyMode = False
    Selection.Copy
    Windows("teil1.xls").Activate
    Range("C4").Select
    ActiveSheet.Paste
    Range("C6").Select
    Application.CutCopyMode = False
    ActiveWorkbook.SaveAs Filename:= _
    "C:\Documents and Settings\Administrator\My Documents\test vba\1.xls", _
    FileFormat:=xlNormal, Password:="", WriteResPassword:="", _
    ReadOnlyRecommended:=False, CreateBackup:=False
    End Sub

    VLG
    Sunshine
     
  2. Beverly

    Beverly Halbes Megabyte

    Hi,

    versuche es mal mit folgendem Code

    Code:
    Sub uebertragen()
        Workbooks.Open Filename:= _
            "C:\Documents and Settings\Administrator\My Documents\test vba\teil1.xls"
        With ActiveWorkbook.Worksheets("Tabelle1")
            .Range("C5") = Workbooks("daten.xls").Worksheets("Tabelle1").Range("B1")
            .Range("C4") = Workbooks("daten.xls").Worksheets("Tabelle1").Range("B2")
        End With
        ActiveWorkbook.SaveAs Filename:= _
            "C:\Documents and Settings\Administrator\My Documents\test vba\" & Workbooks("Daten.xls").Worksheets("Tabelle1").Range("A1") & ".xls"
    End Sub
    
    Der Name unter dem die Arbeitsmappe gespeichert wird steht in A1 der Arbeitsmappe daten.xls. Die Tabellennamen musst du anpassen.
    Falls die Arbeitsmappe daten.xls diejenige mit dem Code ist, kannst du Workbooks("daten.xls") ersetzen durch ThisWorkbook.
     
  3. Danke, funktioniert, und natürlich ist das Kopieren der Zellen so viel schöner.
    Dann versuche ich mal, das Makro für den entsprechnenden Anwendungsfall anzupassen.

    :danke: und ich meld mich dann bestimmt nochmal, wenn ich nicht weiter komme.

    Sunshine
     
  4. Ach son Mist, ich habe doch tatsächlich auch eine Word-Datei unter den Vorlagen. Ich habe heute irgendwo gelesen, dass man in Word bestimmte Bereiche definieren kann, ihnen also einen Namen gibt, und so per Makro darauf zugreifen kann. Ich finde jedoch den Artikel nicht wieder und weiß auch nicht, wo nach ich suchen soll.
    Ich müsste dann ja einfach statt der Zelle den Namen des definierten Bereiches angeben, oder? Wie nennt sich denn die Funktion in Word?

    edit: Ich stelle grad fest, dass ich die Word-Datei nicht mal öffnen kann. Google hilft mir nicht so richtig weiter, da alle angegeben Links tot sind. Wie lautet denn der Code zum Öffnen einer Word-Datei?

    Danke und Gruß
    Sunshine
     
    Last edited: Aug 27, 2008
  5. Langsam aber sicher führe ich hier einen Monolog ;) Aber egal, der aktuelle Stand ist folgender:
    Alle Excel-Formulare werden automatisch erstellt, ausgefüllt und gespeichert.
    Word-Dateien kann ich öffnen mit
    Sub WordDateiStarten()
    CreateObject("Word.application").Documents.Open("c:\test.doc").Application.Visible = True
    End Sub

    Nur die Übertragung der Daten mit .Range("C5") = ... funktioniert natürlich nicht. Copy/Paste sollte wohl als einfache Lösung klappen, werde das mal probieren, aber wenn jemand eine schöne Lösung für mich hat, würde ich mich freuen!
     
Thread Status:
Not open for further replies.

Share This Page