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, poco talento y bastante claro. Pero sí 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. A este blog llegan un gran número de visitas 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 ésto, tendremos en nuestra pestaña de complementos lo siguiente: ...

25 de noviembre de 2011 · rvaquerizo

Chart Tools un add-in imprescindible para Excel

El add-in JWalk 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. ...

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 solo. 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 es 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 José 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 agrupar todas las formas en una sola y poder ampliar el mapa, y otros tres para cambiar los colores; dos de ellos 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 sola 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 enlace. 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 de Excel muy rápido que os permite crear múltiples campos calculados en una tabla dinámica. 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 ir a herramientas de tabla dinámica, fórmulas, definir el nuevo campo… O bien podemos emplear la siguiente macro: ...

12 de mayo de 2011 · rvaquerizo

Trucos Excel. Transponer con la función DESREF

Este blog ya contó cómo 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 dos 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á: ...

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 intención es llegar a este gráfico: No es que sea un gran gráfico (recordad que está hecho en Excel), pero nos permite ver cómo se distribuyen los países 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. ...

11 de abril de 2011 · rvaquerizo