Truco Excel y SAS. Ejecutar SAS desde macro en Excel

Un truco muy malo hoy. Se trata de crear una macro de Excel que llame a un programa SAS y que además podamos pasar un parámetro. Es un código en Visual Basic que no tiene complejidad pero que puede ser útil. El código es: Sub ejecuta_SAS() ' 'Ponemos la ubicación del ejecutable de SAS ubicacion_SAS = "C:\SAS\sas.exe" ' 'Programa que deseamos ejecutar de SAS programa_SAS = "'C:\ejecucion_excel.sas'" ' 'Podemos pasar parámetros como macros por ejemplo que aparecen en una celda de Excel 'Podemos poner todo el código SAS que queramos parametro = "'%let nobs = " & Cells(1, 1) & " ;'" ' 'En una cadena ponemos toda la ejecución ejecucion = ubicacion_SAS & " " & programa_SAS & " -initstmt " & parametro ' 'Shell ejecuta la cadena anterior ejecuta = Shell(ejecucion, 1) ' End Sub Poca cosa y poco talento y bastante claro. Pero si me gustaría destacar el uso de la opción de SAS -initstmt que nos permite ejecutar SAS poniendo un código previamente (init statement). Esta opción nos permite pasar una macro como parámetro que es leída en una celda de Excel. Es una opción habitual cuando hacemos archivos ejecutables para SAS. Espero que sea de utilidad. Saludos.

12 de diciembre de 2011 · rvaquerizo

Trucos Excel (y SAS). Complemento para cambiar la configuración regional

Pasar salidas de SAS a Excel trae de cabeza a muchos usuarios de SAS. A este blog llegan un gran número de entradas desde Google con términos del tipo importar datos de sas a Excel, conectar SAS a excel, cambiar la configuración regional con macros,… Hoy quería ayudaros un poco con esta problemática. Bueno, en realidad os va a ayudar el compañero Salva que hace unos meses me pasó un complemento de Excel tremendamente útil para aquellos que movemos datos entre SAS y Excel. Para trabajar con este complemento sólo tenéis que descargarlo en este enlace y activar el complemento en Opciones de Excel Administrar complementos. Una vez hayamos hecho esto tendremos en nuestra pestaña complementos lo siguiente: ...

25 de noviembre de 2011 · rvaquerizo

Chart Tools un add in imprescindible para Excel

El add-in jk-chart tools de Excel que os podéis descargar aquí nos ofrece una serie de funcionalidades que pueden ayudarnos a trabajar con gráficos en Excel. Una vez descargado y activado el add-in al seleccionar un gráfico podemos emplear este complemento. En la primera pestaña podemos añadir etiquetas personalizadas a nuestros gráficos de Excel, algo que ya realizamos con macros: Basta con seleccionar la serie y elegir el rango de datos que contiene las etiquetas. Para trabajar con etiquetas tenemos otro add-in de Excel que os recomiendo que descarguéis, el XY Chart Labeler. Con Chart Tools además podemos cambiar el tamaño de los gráficos de una hoja. Así todos nos quedarán iguales… ...

28 de octubre de 2011 · rvaquerizo

Trucos Excel. Unir varios Excel en uno

Tenía pendiente revisar una de las entradas más visitadas del blog. Trata la problemática de unir varios Excel en uno sólo. En el caso concreto servía para unir varios Excel generados por SAS a través de una macro en SAS. En la entrada de hoy quiero trabajar con un ejemplo que os podéis descargar aquí en formato rar. De los archivos que comparto el más interesante el que llamamos unir_varios_excel.xlsm se trata de un archivo Excel para macros que contiene un par de macros más que interesantes. Un pantallazo de este libro de Excel: ...

21 de septiembre de 2011 · rvaquerizo

Trucos Excel. Mapa de España por provincias (mejores versiones)

Nuestro lector Jose Antonio tiene una nueva versión del mapa de España por provincias con Excel. Mejores y más comprensibles macros, el problema de León y las Canarias solventados y aparecen Ceuta y Melilla. En palabras del autor tenemos: El libro contiene varios botones: uno para agrupartodas las formas en una sola y poder ampliar el mapa y otros tres para cambiar los colores, dos de ello en función de tramos de una variable (población de las provincias y población por provincias de edad de 0 a 4 años, datos obtenidos del INE padrón 2010), el último para poner todas las provincias en blanco). He creado un mapa nuevo porque el que tienes en la página presenta el problema de León que está en dos formas y es mejor una forma para manejarla con código. No me he preocupado mucho por el tema de la estética, la idea de este libro es presentar varias formas de manejar un mapa por código. Aparecen representadas las ciudades autónomas de Ceuta y Melilla pero si se mantienen las escalas apenas se ven los colores de relleno. Baleares, Las Palmas y Santa Cruz de Tenerife aparecen como grupos porque en la estadística del INE vienen con esta agrupación pero si se dispone de datos a nivel de cada isla se pueden deshacer los grupos. ...

3 de julio de 2011 · rvaquerizo

Trucos Excel. Mapa de España por provincias (mejorado)

Un nuevo mapa de España mejorado para Excel. Sobre la base del mapa ya publicado en esta bitácora un lector ha realizado una espectacular mejora. El compañero Daniel resume sus mejoras como: Cambio en la provincia de León Ponerle mar Añadir la posibilidad de que se pueda rellenar por provincias (ahora se rellena vía la pestaña adjunta, no directamente sobre la primera) Le he quitado también la cabecera y cambiado Canarias de puesto (por temas estéticos de la presentación que estoy preparando) El resultado lo tenéis en este link. Y la verdad es que mejora mucho la primera versión. Ahora necesitamos que alguien nos plantee una combinación de 4 o 5 colores para este tipo de mapas, algo así como una escala de azules, escala de grises,… ...

9 de junio de 2011 · rvaquerizo

Trucos Excel. Múltiples campos calculados en una tabla dinámica

Truco Excel muy rápido y que os permite crear múltiples campos calculados en una tabla dinámica de Excel. Imaginemos que tenemos una tabla dinámica con un campo que es la suma de la exposición al riesgo y por otro lado tenemos el número de siniestros. Estos dos campos los tenemos para 30 coberturas. Si queremos crear un campo calculado que sea la frecuencia siniestral (número de siniestros/exposición) para esos 30 campos tenemos que irnos a herramientas de tabla dinámica, fórmulas, definir el nuevo campo,… O bien podemos hacer emplear la siguiente macro: ...

12 de mayo de 2011 · rvaquerizo

Trucos Excel. Transponer con la función DESREF

Este blog ya contó como trasponer filas a columnas con la función INDIRECTO. Recientemente tuve que explicar ese proceso a una persona y parece que le costó, sin embargo entendió a la perfección el uso de la función DESREF(a la que ya hicimos mención en una entrada reciente) y por ello me he animado a crear esta entrada. En este enlace podéis descargar un excel 2007 que contiene el siguiente ejemplo: ...

30 de abril de 2011 · rvaquerizo

Trucos Excel. Repetir filas o columnas con la función DESREF

La función DESREF va a ser la protagonista de 2 trucos de Excel. Vamos a repetir filas o columnas con esta función. En nuestro caso la función va a devolver el valor de una celda referenciada del modo DESREF( <Celda inicial anclada>;<Filas por debajo de la referenciada>;<Columnas a la derecha de la fila referenciada>). Para nuestro caso el funcionamiento de la función DESREF será: Repito, en este caso la función DESREF lo que hace es referenciar celdas en función de una celda inicial, de modo que el primer parámetro que le pasamos a la función es la referencia, el segundo parámetro es el número de celdas que nos movemos hacia abajo y el tercer parámetro el número de celdas que nos movemos a la derecha. En nuestro caso fijamos la celda B3 como referencia y si deseamos repetir columnas (menos habitual) sólo hacemos DESREF(B3;0;0). Si lo que queremos es repetir filas lo primero que tenemos que hacer es crear el valor incremental sobre nuestra referencia. En el ejemplo deseamos repetir el número en 3 ocasiones y que después cambie, bien el autonumérico irá del 0 al 11, del 0 al 4×3 – 1. Hacemos una función REDONDEAR.MENOS donde dividimos nuestro autonumérico entre el número de veces que queremos repetir, en este caso 3. Y esa será la forma en la que se incrementará nuestra referencia. ...

21 de abril de 2011 · rvaquerizo

Trucos Excel. Poner etiquetas en gráficos de dispersión

Una macro de Visual Basic muy sencilla es la única forma de etiquetar gráficos de dispersión que me he encontrado. Si alguien encuentra otro modo más sencillo de hacerlo que lo comente en estas líneas. La intencion es llegar a este gráfico: No es que sea un gran gráfico, recordad que está hecho en Excel, pero nos permite ver como se distribuyen los paises en función de la renta per cápita y el número de horas trabajadas al año. Además podemos identificarlos perfectamente, como es el caso de Luxemburgo, como siempre. Los datos para realizar este gráfico están en la web de la OCDE. Nos los descargamos en Excel y tenemos una tabla de esta forma: ...

11 de abril de 2011 · rvaquerizo