Konvertiert Zellreferenzen in einer Formel von/nach den Referenzstilen A1 und R1C1, von/nach relativem und absolutem Referenztyp oder beiden
#include <Excel.au3>
_Excel_ConvertFormula ( $oExcel, $sFormula, $iFromStyle [, $iToStyle = Default [, $iToAbsolute = Default [, $vRelativeTo = Default]]] )
$oExcel | Excel Anwendungs-Objekt |
$sFormula | Text der die Formel zum Konvertieren beinhaltet |
$iFromStyle | Die Referenzstile der Formel. Kann ein Wert der XlReferenceStyle Aufzählung sein |
$iToStyle | [optional] Eine Wert der XlReferenceStyle Aufzählung, welche den Referenzstil angibt, der zurückgegeben werden soll. Wenn dieser Parameter fehlt, so wird der Referenzstil nicht geändert |
$iToAbsolute | [optional] Ein Wert der XlReferenceType Aufzählung der den konvertierten Referenztyp angibt. Wenn dieser Parameter fehlt, so wird der Referenztyp nicht geändert |
$vRelativeTo | [optional] Ein Bereichs-Objekt oder ein A1 Bereich, der nur eine Zelle umfasst. Relative Referenzen beziehen sich auf diese Zelle. Wenn dieser Parameter fehlt, so wird A1 verwendet |
Erfolg: | Die konvertierte Formel als Text. |
Fehler: | "" und setzt @error. |
@error: | 1 - $oExcel ist kein Objekt oder Anwendungs-Objekt 2 - $vRelativeTo ist kein Objekt oder kein gültiger A1 Bereich |
R1C1 Referenzen sind sprachenabhängig.
In Englisch: "R10C5" (Row 10, Column 5), in Deutsch: "Z10S5" (Zeile 10, Spalte 5)
#include <Excel.au3>
#include <MsgBoxConstants.au3>
; Erstellen des Anwendungsobjektes und Öffnen eines neuen Workbooks
Local $oExcel = _Excel_Open()
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_ConvertFormula Beispiel", "Fehler beim Erstellen des Excel Objektes." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
Local $oWorkbook = _Excel_BookNew($oExcel)
If @error Then
MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_ConvertFormula Beispiel", "Fehler beim Erstellen eines neuen Workbook." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
_Excel_Close($oExcel)
Exit
EndIf
; Übersetzen eines A1-Bereichs in einen R1C1-Bereich und umgekehrt
Local $sFormula = "C4:G12"
; Relativ: A1 zu R1C1
Local $sR1C1 = _Excel_ConvertFormula($oExcel, $sFormula, $xlA1, $xlR1C1, $xlRelative)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_ConvertFormula Beispiel 1", "Fehler bei der Umwandlung der Formel in den R1C1-Stil." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
; R1C1 zu A1
Local $sA1 = _Excel_ConvertFormula($oExcel, $sR1C1, $xlR1C1, $xlA1, $xlRelative)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_ConvertFormula Beispiel 1", "Fehler bei der Umwandlung der Formel in den Stil A1." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
; Ergebnis anzeigen
MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_ConvertFormula Beispiel 1", "Konvertierungstyp: Relativ" & @CRLF & " A1 zu einem R1C1-Stil: " & $sFormula & " zu " & $sR1C1 & @CRLF & " R1C1 zu A1 Stil: " & $sR1C1 & " zu " & $sA1)
; Absolut: A1 zu R1C1
$sR1C1 = _Excel_ConvertFormula($oExcel, $sFormula, $xlA1, $xlR1C1, $xlAbsolute)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_ConvertFormula Beispiel 1", "Fehler bei der Umwandlung der Formel in den R1C1-Stil." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
; R1C1 zu A1
$sA1 = _Excel_ConvertFormula($oExcel, $sR1C1, $xlR1C1, $xlA1, $xlAbsolute)
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_ConvertFormula Beispiel 1", "Fehler bei der Umwandlung der Formel in den Stil A1." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
; Ergebnis anzeigen
MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_ConvertFormula Beispiel 1", "Konvertierungstyp: Absolut" & @CRLF & " A1 zu einem R1C1-Stil: " & $sFormula & " zu " & $sR1C1 & @CRLF & " R1C1 zu A1 Stil: " & $sR1C1 & " zu " & $sA1)
#include <Excel.au3>
#include <MsgBoxConstants.au3>
; Erstellen des Anwendungsobjektes und Öffnen eines neuen Workbooks
Local $oExcel = _Excel_Open()
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_ConvertFormula Beispiel", "Fehler beim Erstellen des Excel Objektes." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
Local $oWorkbook = _Excel_BookNew($oExcel)
If @error Then
MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_ConvertFormula Beispiel", "Fehler beim Erstellen eines neuen Workbook." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
_Excel_Close($oExcel)
Exit
EndIf
; Übersetzen einer Formel vom Stil A1 in den Stil R1C1 und verwenden einer relativen Referenz
Local $sFormula = "=SUM(C4:G12)", $sReference = "B2"
Local $sConverted = _Excel_ConvertFormula($oExcel, $sFormula, $xlA1, $xlR1C1, $xlRelative, $oExcel.Range($sReference))
If @error Then Exit MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_ConvertFormula Beispiel 2", "Fehler bei der Umwandlung der Formel." & @CRLF & "@error = " & @error & ", @extended = " & @extended)
MsgBox($MB_SYSTEMMODAL, "Excel UDF: _Excel_ConvertFormula Beispiel 2", "Übersetzen einer A1-Formel in eine R1C1 und verwenden von " & $sReference & " als relative Referenz:" & @CRLF & $sFormula & " zu " & $sConverted)