Entrada destacada

Aplicando Excel | Información Cursos de Excel

Aplicando Excel | Cursos de Excel  |  Nivel Básico  | Nivel Intermedio  | Nivel Experto  | Tablas y Gráficos Dinámicos  | Excel Personaliz...

Microsoft 365 Copilot en Excel

  Aplicando Excel | Microsoft 365 Copilot en Excel | Inteligencia Artificial IA


Días atrás Microsoft ha anunciado Microsoft 365 Copilot el cual lleva toda la potencia de la Inteligencia Artificial a sus aplicaciones: Word, Excel, Outlook, Teams , PowerPoint entre otras. 

Como somos Team Excel nuestra pregunta es:

¿Cómo va a mejora Copilot la aplicación de Excel?


Aquí una pequeña idea de lo presentado por Microsof sobre el futro de Excel y la Inteligencia Artificial de Copilot.



También te puede interesar, Da Clic: 

Como implementar Inteligencia Artificial (ChatGPT) al Excel



Puedes seguirme en:





O Escríbeme a:

Como implementar Inteligencia Artificial (ChatGPT) al Excel

 Aplicando Excel | Implementa CHATGPT a Excel con una Macro Key Api OpenAI


Es hora de poner INTELIGENCIA al Excel.

ChatGPT es un chat basado en un modelo de Inteligencia Artificial que permite responder, crear, resolver inquietudes y problemas.

PASO 1 :: ARCHIVO DE EXCEL HABILITADO PARA MACROS

Crear un Excel habilitado para macros. Para esto abrimos un nuevo Excel, vamos a Archivo -> Guardar Como -> Examinar


En Examinar ponemos un nombre a nuestro libro y lo guardamos habilitado para macros.


En el Excel habilitado para Macros creamos 2 hojas de cálculo: Prompt y Result

**Importante: Deben estar bien escritos estos nombres en las Hojas de Calculo


PASO 2 :: CREAR MACRO

Vamos a dar CLIC DERECHO sobre cualquiera de las Hojas y seleccionamos la opción Ver código


Se nos va a abrir nuestro Editor de Visual Basic aquí damos clic en Insertar y seleccionamos la opción de Módulo


** Se puede abrir el Editor de Visual Basic también con ALT + F11

En el Módulo que se creo pegamos el siguiente código:


Option Explicit


'=====================================================

' GET YOUR API KEY: https://openai.com

Const API_KEY As String = "<API_KEY>"

'=====================================================


' Constants for API endpoint and request properties

Const API_ENDPOINT As String = "https://api.openai.com/v1/completions"

Const MODEL As String = "text-davinci-003"

Const MAX_TOKENS As String = "1024"

Const TEMPERATURE As String = "0.5"


'Output worksheet name

Const OUTPUT_WORKSHEET As String = "Result"



Sub OpenAI_Completion()


10        On Error GoTo ErrorHandler

20        Application.ScreenUpdating = False


          ' Check if API key is available

30        If API_KEY = "<API_KEY>" Then

40            MsgBox "Please input a valid API key. You can get one from https://openai.com/api/", vbCritical, "No API Key Found"

50            Application.ScreenUpdating = True

60            Exit Sub

70        End If


          ' Get the prompt

          Dim prompt As String

80        prompt = ActiveCell.Value


          ' Check if there is anything in the selected cell

90        If Trim(prompt) <> "" Then

              ' Clean prompt to avoid parsing error in JSON payload

100           prompt = CleanJSONString(prompt)

110       Else

120           MsgBox "Please enter some text in the selected cell before executing the macro", vbCritical, "Empty Input"

130           Application.ScreenUpdating = True

140           Exit Sub

150       End If


          ' Create worksheet if it does not exist

160       If Not WorksheetExists(OUTPUT_WORKSHEET) Then

170           Worksheets.Add(After:=Sheets(Sheets.Count)).Name = OUTPUT_WORKSHEET

180       End If


          ' Clear existing data in worksheet

190       Worksheets(OUTPUT_WORKSHEET).UsedRange.ClearContents


          ' Show status in status bar

200       Application.StatusBar = "Processing OpenAI request..."


          ' Create XMLHTTP object

          Dim httpRequest As Object

210       Set httpRequest = CreateObject("MSXML2.XMLHTTP")


          ' Define request body

          Dim requestBody As String

220       requestBody = "{" & _

              """model"": """ & MODEL & """," & _

              """prompt"": """ & prompt & """," & _

              """max_tokens"": " & MAX_TOKENS & "," & _

              """temperature"": " & TEMPERATURE & _

              "}"

              

          ' Open and send the HTTP request

230       With httpRequest

240           .Open "POST", API_ENDPOINT, False

250           .SetRequestHeader "Content-Type", "application/json"

260           .SetRequestHeader "Authorization", "Bearer " & API_KEY

270           .send (requestBody)

280       End With


          'Check if the request is successful

290       If httpRequest.Status = 200 Then

              'Parse the JSON response

              Dim response As String

300           response = httpRequest.responseText


              'Get the completion and clean it up

              Dim completion As String

310           completion = ParseResponse(response)

              

              'Split the completion into lines

              Dim lines As Variant

320           lines = Split(completion, "\n")


              'Write the lines to the worksheet

              Dim i As Long

330           For i = LBound(lines) To UBound(lines)

340               Worksheets(OUTPUT_WORKSHEET).Cells(i + 1, 1).Value = ReplaceBackslash(lines(i))

350           Next i


              'Auto fit the column width

360           Worksheets(OUTPUT_WORKSHEET).Columns.AutoFit

              

              ' Show completion message

370           ' MsgBox "OpenAI completion request processed successfully. Results can be found in the 'Result' worksheet.", vbInformation, "OpenAI Request Completed"

              Sheets("Result").Select

              Range("a1:a10").Speak

              

              

              'Activate & color result worksheet

380           With Worksheets(OUTPUT_WORKSHEET)

390               .Activate

400               .Range("A1").Select

410               .Tab.Color = RGB(169, 208, 142)

420           End With

              

430       Else

440           MsgBox "Request failed with status " & httpRequest.Status & vbCrLf & vbCrLf & "ERROR MESSAGE:" & vbCrLf & httpRequest.responseText, vbCritical, "OpenAI Request Failed"

450       End If

          

460       Application.StatusBar = False

470       Application.ScreenUpdating = True

          

480       Exit Sub

          

ErrorHandler:

490       MsgBox "Error " & Err.Number & ": " & Err.Description & vbCrLf & "Line: " & Erl, vbCritical, "Error"

500       Application.StatusBar = False

510       Application.ScreenUpdating = True

          

End Sub

' Helper function to check if worksheet exists

Function WorksheetExists(worksheetName As String) As Boolean

520       On Error Resume Next

530       WorksheetExists = (Not (Sheets(worksheetName) Is Nothing))

540       On Error GoTo 0

End Function

' Helper function to parse the reponse text

Function ParseResponse(ByVal response As String) As String

550       On Error Resume Next

          Dim startIndex As Long

560       startIndex = InStr(response, """text"":""") + 8

          Dim endIndex As Long

570       endIndex = InStr(response, """index"":") - 2

580       ParseResponse = Mid(response, startIndex, endIndex - startIndex)

590       On Error GoTo 0

End Function

' Helper function to clean text

Function CleanJSONString(inputStr As String) As String

600       On Error Resume Next

          ' Remove line breaks

610       CleanJSONString = Replace(inputStr, vbCrLf, "")

620       CleanJSONString = Replace(CleanJSONString, vbCr, "")

630       CleanJSONString = Replace(CleanJSONString, vbLf, "")


          ' Replace all double quotes with single quotes

640       CleanJSONString = Replace(CleanJSONString, """", "'")

650       On Error GoTo 0

End Function

' Replaces the backslash character only if it is immediately followed by a double quote.

Function ReplaceBackslash(text As Variant) As String

660       On Error Resume Next

          Dim i As Integer

          Dim newText As String

670       newText = ""

680       For i = 1 To Len(text)

690           If Mid(text, i, 2) = "\" & Chr(34) Then

700               newText = newText & Chr(34)

710               i = i + 1

720           Else

730               newText = newText & Mid(text, i, 1)

740           End If

750       Next i

760       ReplaceBackslash = newText

770       On Error GoTo 0

End Function


Puedes descargar el EXCEL de ejemplo y CODIGO DE MACRO desde el siguiente link:

https://1drv.ms/u/s!AiFkH3zjVZ9vjEP-H-h5bLHNLf3o?e=Bkz1Qx

PASO 3 :: OBTENER EL API KEY DE OPENAI

Debemos primero crear una cuenta en OPENAI damos clic en el siguiente link:

https://openai.com/

Una vez que te registras y te logeas en el sitio de OPENAI das clic en el siguiente link: 

https://platform.openai.com/account/api-keys


En esta pagina das clic en la opción de Create new secret key . Te genera un KEY el mismo debemos COLOCAR en la MACRO

De la siguiente manera: 

** Esta al inicio de la macro esta parte del código. El KEY debe estar entre “ “

 

PASO 4 :: ASIGNAR LA MACRO A UNA FIGURA

En cualquier Columna de la hoja Prompt aumentamos el ancho y le colocamos un borde y estilo. 


Luego nos vamos a Insertar -> Formas -> Rectángulo: esquinas redondeadas . Ahí insertamos una figura en forma de un botón en nuestro Excel. Le colocamos igual el estilo que deseemos y le ponemos el texto de PREGÚNTAME  


Les debe quedar algo similar al ejemplo:


Damos clic derecho sobre la figura que creamos con el texto de PREGÚNTAME y damos clic en Asignar macro…


Aquí seleccionamos la Macro OpenAI_Completion y damos clic en Aceptar


Y esta FINALIZADO , para usar en la celda que le diste formato escribes que deseas preguntar a CHATGPT , seleccionada esta celda con la pregunta das CLIC en PREGÚNTAME 

Le respuesta se escuchará en AUDIO y se presentará la respuesta en la hoja RESULT


Si quieres descargar el MACRO y ARCHIVO de EXCEL da clic en el LOGO:


Mira el VIDEO donde se explica paso a paso como implementar CHATGPT al Excel: 



También te puede interesar, Da Clic: 

Crea un Reloj en Excel de Manera Simple


Puedes seguirme en:





O Escríbeme a:

Crea un Reloj en Excel de Manera Simple

  Aplicando Excel | Crea un Reloj en Excel con Macros de Manera Simple




UNO:

Creamos un nuevo libro en Excel

Y lo guardamos habilitados para Macros.

Vamos a la pestaña Archivo -> Guardar como -> Examinar


Guardamos el Libro habilitado para Macros.


DOS:

Nos posicionamos en cualquier celda, para el ejemplo yo me colocare en la G8 y escribimos la formula con la función =Ahora()

Se les debe presentar la fecha y hora. Pueden colocar el estilo que quieran a esta celda, aumentar tamaño, cambiar tipo de letra, color, etc. 

Cambie color de Texto, Relleno y Tamaño.

Dan Clic derecho sobre la celda y seleccionan Formato de celdas…


Se nos presentara la ventana Formato de celdas aquí seleccionamos la Categoría Hora y escogemos el primer tipo que tiene un * y damos clic en Aceptar


Les debe quedar la celda ya solo con la Hora


TRES:

Damos Clic Derecho sobre la Hoja1 y Clic en Ver código


Se nos va a presentar la ventana del Editor de Visual Basic aquí damos Clic en Insertar y Clic en Módulo


En el Módulo donde titila el Curso escribimos las siguientes Macros: 

La Macro Reloj pone en marcha el tiempo en la hora

Sub Reloj()

Range("G8").Value = "=Now()"

Application.OnTime Now + TimeValue("00:00:01"), "Reloj"

End Sub

La Macro AUTO OPEN ejecuta la macro Reloj, con esto al abrir el archivo se pone automáticamente en marcha la hora

Sub AUTO_OPEN()

Reloj

End Sub

** Si tu colocaste en otra celda la Hora debes colocar esta CELDA en la sentencia: Range("Celda donde colocaste la hora").Value = "=Now()"

Cierra el Editor de Visual Basic y el libro de Excel. Guarda antes de Cerrar. Vuelve Abrir y ya se va a Ejecutar la Macro de Reloj que pone en marcha la Hora. (Habilita las Macros del Libro al momento de abrir, da clic en Habilitar contenido)


MIRA EL VIDEO DE LA CREACIÓN DEL RELOJ 


Descarga el archivo de Excel:



También te puede interesar, Da Clic: 

Lo que Excel NO quiere que sepas :: Quitar Contraseña de Proteger Hoja Excel



Puedes seguirme en:





O Escríbeme a:

Listas Desplegables Dinámicas con IMAGINES

 Aplicando Excel | Aprende a crear Listas Desplegables Dinámicas con Imágenes

Esto es muy nuevo, aprende a crear LISTAS DESPLEGABLES DINÁMICAS CON IMÁGENES en Excel

Para crear una LISTA DESPLEGABLE DINAMICA CON IMÁGENES necesitas lo siguiente:

  • Tablas y nombre a rango de Celdas
  • Validación de Datos con Listas
  • Función Imagen (Esta función se encuentra en Excel 365 y versiones superiores)
  • Función BuscarX (Esta función se encuentra en Excel 365 y versiones superiores)

Lo que vamos a hacer es muy simple, vamos a crear un rango de Datos con la Información que queremos utilizar para crear nuestras Listas:

Como ejemplo voy a crear una Lista de Información del Elenco de The Last of Us: (Ustedes podría realizar para un catálogo de presentación de productos, bienes raíces, etc. Yo lo utilizo en este caso para un tema de entretenimiento)



Si ustedes pueden ver en mi Información de Excel he dejado Campos para la IMAGEN y URL de la IMAGEN.

Aquí vamos a manejar nuestra Función IMAGEN, pero primero debemos conseguir la URL de la IMAGEN que deseamos Utilizar.

Para esto en nuestro Navegador de Internet damos Clic Derecho sobre la Imagen que nos interesa y seleccionamos la opción COPIAR ENLACE


Este es el URL de la Imagen de Internet, le pegamos en el Excel.



Este URL es el argumento que necesitamos referir para utilizar la Función Imagen



** En el ejemplo en la Celda E4 se encuentra el URL




La Función Imagen mediante la URL trae la imagen del Internet.

Llenamos nuestra información con las Imágenes que deseemos utilizar como LISTA DESPLEGABLE

En el caso del Ejemplo utilizare la imagen del Actor como Lista.




De aquí ya crearemos nuestra Lista Desplegable Dinámica con esta información. Tomen en cuenta que el campo donde colocamos nuestra Función Imagen es como un campo más donde tenemos guardado una Formula o un Texto.

Creamos como Tabla la información y ponemos nombre a nuestra Tabla. Para crear como Tabla simplemente nos posicionamos en cualquier Celda de nuestra información y presionamos la tecla CTRL + T

Les aparecerá la siguiente ventana, aquí importante que su Tabla tenga Encabezados. Y este marcada la opción: La tabla tiene encabezados . Damos Clic en Aceptar para crear la Tabla. 


Damos clic en cualquier Celda de la Tabla y se nos presentara la pestaña Diseño de Tabla



Aquí buscamos la opción Nombre de la tabla: y colocamos un Nombre (para el ejemplo le he puesto a la Tabla el nombre de Datos, el nombre de tabla no puede contener espacios)


Ahora vamos a poner nombre a nuestra Lista de Imágenes para que se vuelva dinámica. Seleccionamos el rango de Celdas de las Imágenes que queremos que formen parte de nuestra Lista (en el ejemplo seria las imágenes de los actores).



Y le colocamos un nombre a este Rango de Celdas seleccionado. Vamos a la esquina Superior Izquierda como muestra la imagen, borramos el nombre de la celda que aparece escrito y colocamos el texto IMAGENES



Para validar que tenemos bien puesto el nombre a nuestra Tabla y Rango de Celdas vamos a ir a la pestaña Fórmulas y damos CLIC en la opción Administrador de nombres



Ahí nos debe aparecer en caso del ejemplo la Tabla Datos y el rango de nombre de celdas IMAGENES 

Vamos o creamos otra hoja de Cálculo en el mismo Libro de Excel.

Nos posicionamos en la Celda donde queremos que se despliegue nuestra LISTA DINAMICA DE IMÁGENES




Seleccionada esta celda vamos a la pestaña Datos y damos clic en la opción de Validación de Datos de la siguiente manera: 



Se nos presentara la ventana Validación de datos aquí en Permitir seleccionamos Lista y en Origen ponemos = IMAGENES (este es el nombre del rango de celda que colocamos)


Con esto ya se nos despliega la lista con las imágenes en la Celda seleccionada.



Esta información es como llamar a una lista desplegable de Texto. Imagínense que en vez de la imagen les apareceré un numero de ID o un Código, nosotros podemos realizar búsquedas sobre esta información. Aquí utilizamos nuestra función BuscarX



El valor Buscado será la Celda donde nos aparece la imagen, la matriz buscada en el caso del ejemplo donde se encuentran las imágenes de los actores y matriz devuelta la información que queremos buscar.



Para que lo entiendas de mejor manera MIRA EL VIDEO DONDE EXPLICO PASO A PASO LA CREACIÓN DE LAS LISTAS DESPLEGABLES DINAMICAS CON IMÁGENES



¿Por qué DINAMICAS?

Es porque podemos aumentar o decrementar la información de nuestra Tabla, quitar o aumentar imágenes y esto se reflejará en nuestra LISTA DESPLEGABLE


Si tienes dudas sobre la función BUSCARX da clic en el siguiente link:

Función BUSCARX


Para DESCARGAR el archivo de Excel de utilizado en el ejemplo da CLIC en el logo de Excel: 




También te puede interesar, Da Clic: 

Lo que Excel NO quiere que sepas :: Quitar Contraseña de Proteger Hoja Excel



Puedes seguirme en:





O Escríbeme a: