Excel 2003 Spalten auslesen und ändern in anderen Spalten !

  • Ich benötige Hilfe für folgenden Ausführung in einem Script !


    Ich exportieren in Excel Datei, die per autoit geändert und abspeichert werden soll!

    Die ausgelesen Spalten sollen mit 12 addiert und in einer anderen Spalte geändert eingetragen werden.

    Dann abschließend mit geänderten Dateinamen abgespeichert werden!


    Mir fehlt der Befehl für ganzen Spalten auslesen und anschliessende geänderten Spalten und das abspeichern ??? ?(


    Danke !

    • Offizieller Beitrag

    ausgelesen Spalten sollen mit 12 addiert


    Du meinst sicher: Alle Zellen dieser Spalte sollen ausgelesen und mit 12 addiert werden. ;)

    Schau dir mal die Excel-UDF an in der Hilfe. Da findest du alles, was du brauchst.

    [autoit]

    _ExcelReadCell
    _ExcelWriteCell
    _ExcelBookNew
    _ExcelBookSaveAs

    [/autoit]
  • Danke, das hat mich schon etwas weiter gebracht! :thumbup:

    Jetzt muss ich noch irgendwie die WENN DANN funktion dort hinein bekommen ?

    Mit welchen Befehl ? ?(

  • Danke , habe ich eingebunden

    Ich bekomm eine Fehlermeldung

    Und in Line 12 -13 soll aus eine zelle z.B. 1. Zeile ausgelesen werden ob 6 oder 12 Monte zum vorhanden Datum addiert werden sollen ???

    Anbei der Script:

    [autoit]

    #include <Excel.au3>

    [/autoit][autoit][/autoit][autoit]

    Local $oExcel =_excelBookOpen("c:\test\test.xls")

    [/autoit][autoit][/autoit][autoit]

    For $i = 1 To 50 ; Schleife Letzte Prüfung
    _ExcelWriteCell($oExcel, "=WENN(C3=E3;D3;B3)", $i, $i, 8) ; Schreibt den Wert von $i in die Zelle [$i,8]
    Next
    For $i = 1 To 50 ; Schleife Letzte Prüfung erledigt
    _ExcelWriteCell($oExcel, "=WENN(C3=E3;E3;C3)" $i, $i, 9) ; Schreibt den Wert von $i in die Zelle [$i,9]

    Next
    For $i = 1 To 50 ; Schleife Nächste Prüfung + Zeile1 (12 Monate oser 6 Monate)
    _ExcelWriteCell($oExcel, "=WENN(C3=E3;D3+365;D3)",$i, $i, 10) ; Schreibt den Wert von $i in die Zelle [$i,10]
    Next
    For $i = 1 To 50 ; Schleife Nächste Prüfung erledigt
    _ExcelWriteCell($oExcel,"=WENN(C3=E3;false;E3)", $i, $i, 11) ; Schreibt den Wert von $i in die Zelle [$i,11]
    Next

    [/autoit][autoit][/autoit][autoit][/autoit][autoit]

    MsgBox(0, "Beenden", "Drücke OK zum Speichern und Beenden.")
    _ExcelBookSaveAs($oExcel, @TempDir & "\Temp.xls", "xls", 0, 1) ; Jetzt wird ins Temp-Verzeichnis gespeichert; wenn nötig, werden bestehende Dateien überschrieben
    _ExcelBookClose($oExcel) ; Und schließlich machen wir die Mappe wieder zu.

    [/autoit]

    Einmal editiert, zuletzt von syserd2012 (21. August 2012 um 23:39)

  • Wenn Du eine Fehlermeldung bekommst, dann wäre schön zu wissen welche.
    Und statt _ExcelWriteCell solltest Du _ExcelWriteFormula verwenden.
    Denn mit _ExcelWriteCell aktualisierst Du den Inhalt einer Zelle, aber mit _ExcelWriteFormula definierst Du die Formel.