Freigeben über


xlSet

Gilt für: Excel 2013 | Office 2013 | Visual Studio

Fügt konstanten Werte sehr schnell in Zellen oder Bereiche ein. Weitere Informationen finden Sie unter "xlSet und Arbeitsmappen mit Arrayformeln" unter Bekannte Probleme bei der Excel-XLL-Entwicklung.

Excel12(xlSet, LPXLOPER12 pxRes, 2, LPXLOPER12 pxReference, LPXLOPER pxValue);

Parameter

pxReference (xltypeRef oder xltypeSRef)

Ein rechteckiger Bezug, der die Zielzelle oder -zellen beschreibt. Der Verweis muss angrenzende Zellen beschreiben, sodass in xltypeRefval.mref.lpmref->count auf 1 festgelegt werden muss.

pxValue

Die Werte, die in die Zelle oder zellen eingefügt werden sollen. Weitere Informationen finden Sie im Abschnitt "Hinweise".

Hinweise

pxValue-Argument

pxValue kann entweder ein Wert oder ein Array sein. Wenn es sich um einen Wert handelt, wird der gesamte Zielbereich mit diesem Wert gefüllt. Wenn es sich um ein Array (xltypeMulti) handelt, werden die Elemente des Arrays an den entsprechenden Positionen im Rechteck platziert.

Wenn Sie ein horizontales Array für das zweite Argument verwenden, wird es nach unten dupliziert, um das gesamte Rechteck auszufüllen. Wenn Sie ein vertikales Array verwenden, wird es nach rechts dupliziert, um das gesamte Rechteck auszufüllen. Wenn Sie ein rechteckiges Array verwenden und es für den rechteckigen Bereich, in den Sie es einfügen möchten, zu klein ist, wird dieser Bereich mit #N/As aufgefüllt.

Wenn der Zielbereich kleiner als das Quellarray ist, werden die Werte bis zu den Grenzwerten des Zielbereichs kopiert, und die zusätzlichen Daten werden ignoriert.

Um ein Element des Zielrechtecks zu löschen, verwenden Sie ein xltypeNil-Typarrayelement im Quellarray. Um das gesamte Zielrechteck zu löschen, lassen Sie das zweite Argument weg.

Einschränkungen

xlSet kann nicht rückgängig werden. Darüber hinaus werden alle rückgängig gemachten Informationen zerstört, die möglicherweise zuvor verfügbar waren.

xlSet kann nur Konstanten, keine Formeln, in Zellen einfügen.

xlSet verhält sich wie eine befehlsäquivalente Klasse 3-Funktion. Das heißt, sie ist nur innerhalb einer DLL verfügbar, wenn die DLL von einem Objekt, Makro, Menü, Symbolleiste, Tastenkombination oder der Schaltfläche Ausführen im Dialogfeld Makro aufgerufen wird (der Zugriff erfolgt ab Excel 2007 über die Registerkarte Ansicht auf dem Menüband und in früheren Versionen über das Menü Extras ).

Beispiel

Im folgenden Beispiel wird B205:B206 mit dem Wert gefüllt, der von einem Makro übergeben wurde. Dieses Beispiel einer Befehlsfunktion erfordert ein Argument und funktioniert daher nur, wenn es von einem XLM-Makroblatt oder von einem VBA-Modul mit der Application.Run-Methode aufgerufen wird.

\SAMPLES\EXAMPLE\EXAMPLE.C

short WINAPI xlSetExample(short int iVal)
{
   XLOPER12 xRef, xValue;
   xRef.xltype = xltypeSRef;
   xRef.val.sref.count = 1;
   xRef.val.sref.ref.rwFirst = 204;
   xRef.val.sref.ref.rwLast = 205;
   xRef.val.sref.ref.colFirst = 1;
   xRef.val.sref.ref.colLast = 1;
   xValue.xltype = xltypeInt;
   xValue.val.w = iVal;
   Excel12(xlSet, 0, 2, (LPXLOPER12)&xRef, (LPXLOPER12)&xValue);
   return 1;
}

Siehe auch