Col und Row im Array tauschen.

  • Hallo,

    ich habe eigentlich nur ein ganz kleines Problem und stehe glaub ich einfach auf dem Schlauch. ?(
    Schon mal Sorry falls es offensichtlich irgendwo steht und ich es Übersehe... ;(

    Ich muß aus einer Excel Tabelle nach einem bestimmten Wert suchen und entsprechend zwei Spalten davor bestimmte Werte einfügen.
    Da die Excel Tabelle ziemlich groß ist, und das ganze ja auch noch recht performant laufen soll übertrage ich die Werte erst in ein Array...
    Damit es einfach zu Modifizieren ist, arbeite ich mit einem Bereich aus Excel ("A23:T52").

    Spoiler anzeigen
    [autoit][/autoit] [autoit][/autoit] [autoit]

    #include <Excel.au3>
    #include <Array.au3>
    Local $Suchbegriff = '01-008-01'
    Local $Suchspalte = 20
    Local $CellRange="A23:T52"
    Local $Address = 0
    Local $FileName=@ScriptDir & "\Test1.xls"

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

    if not FileExists($FileName) then
    Msgbox (0,"Excel Data Read","Error: Kann die Excel Quelldatei nicht finden: " & $FileName)
    Exit
    endif

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

    $oExcel = ObjGet($FileName)

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

    If (@error) and IsObj($oExcelDoc) then
    Msgbox (0,"Excel Data Read","Error: Zugriff verwergert")
    Exit
    endif

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

    $TabBlatt=$oExcel.Worksheets(4)

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

    $aArray = $TabBlatt.range($CellRange,).value
    _ArrayDisplay($aArray, "Array using Default Parameters")

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

    For $i = 0 To UBound($aArray) - 1
    If $aArray[$i][$Suchspalte] = $Suchbegriff Then $Address = $aArray[$i][$Suchspalte])
    Next
    Msgbox (0,"Ausgabe","Zelle ist: "& $Address)

    [/autoit]


    Meine Frage:

    bei dem Befehl: $aArray = $TabBlatt.range($CellRange,).value wird die Zeile mit der Spalte ausgetauscht, was es für mich etwas Unübersichtlich macht...
    Wie kann ich es einfach negieren oder besser gleich Zeile zu Row und Spalte zu Col zuweisen???

    Da muß es doch eine einfache Befehlserweiterung oder ähnliches geben, oder??

    Viele Grüße.

  • Hallo BugFix,

    danke für die schnelle Antwort.

    Kann ich bei _ExcelReadArray auch mit der in Excel gängigen Range (A23:T52) arbeiten, oder muß ich den Umweg über "$iStartRow, $iStartColumn, $iNumCells" wählen?

    Hatte gehofft die Range bei bedarf schnell und einfach auf meine Bedürfnisse anzupassen...
    Ansonsten muß ich wohl ein separten Teil dazu entwerfen...

    Beste Grüße