xlSet

Hace referencia a: Excel 2013 | Office 2013 | Visual Studio

Coloca valores constantes en celdas o rangos muy rápidamente. Para obtener más información, vea "xlSet y libros con fórmulas de matriz" en Problemas conocidos en el desarrollo XLL de Excel.

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

Parameters

pxReference (xltypeRef o xltypeSRef)

Referencia rectangular que describe la celda o celdas de destino. La referencia debe describir celdas adyacentes, de modo que en un xltypeRefval.mref.lpmref->count se debe establecer en 1.

pxValue

Valor o valores que se van a colocar en la celda o las celdas. Si desea más información, vea la sección "Comentarios".

Comentarios

pxValue (argumento)

pxValue puede ser un valor o una matriz. Si es un valor, todo el intervalo de destino se rellena con ese valor. Si es una matriz (xltypeMulti), los elementos de la matriz se colocan en las ubicaciones correspondientes del rectángulo.

Si usa una matriz horizontal para el segundo argumento, se duplica para rellenar todo el rectángulo. Si usa una matriz vertical, se duplica a la derecha para rellenar todo el rectángulo. Si usa una matriz rectangular y es demasiado pequeña para el rango rectangular en el que desea colocarla, ese intervalo se rellena con #N/As.

Si el intervalo de destino es menor que la matriz de origen, los valores se copian hasta los límites del intervalo de destino y se omiten los datos adicionales.

Para borrar un elemento del rectángulo de destino, use un elemento de matriz de tipo xltypeNil en la matriz de origen. Para borrar todo el rectángulo de destino, omita el segundo argumento.

Restricciones

xlSet no se puede deshacer. Además, destruye cualquier información de deshacer que haya estado disponible antes.

xlSet solo puede colocar constantes, no fórmulas, en celdas.

xlSet se comporta como una función equivalente a un comando de clase 3; es decir, solo está disponible dentro de un archivo DLL cuando se llama a la DLL desde un objeto, macro, menú, barra de herramientas, tecla de método abreviado o el botón Ejecutar en el cuadro de diálogo Macro (al que se accede desde la pestaña Ver de la cinta de opciones a partir de Excel 2007 y el menú Herramientas de versiones anteriores).

Ejemplo

En el ejemplo siguiente se rellena B205:B206 con el valor que se pasó desde una macro. Este ejemplo de función de comando requiere un argumento, por lo que solo funcionará si se llama desde una hoja de macros XLM o desde un módulo VBA mediante el método Application.Run .

\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;
}

Vea también