Saltar al contenido

Nuevas macros Excels


Visor

Recommended Posts

publicado

Será que en este foro ´pueda tener cabida también el Excel de googgleDrive, las macros que se realizan  son también impresionantes, no obstante no hay nadie que explique al estilo que lo hacen los foros Excel en especial AyudaExcel. Ya me hice algunas macros y si que son muy utiles sobre todo porque se las puede tener el uso hasta en el celular

 

publicado

Hola

Antes de opinar sobre el tema puntual  quiero sugerir que con el objetivo de no confundir a nuevos usuarios (y a algunos "antiguos" también je je je) pues usemos los términos adecuados. No existe un "Excel" de Google Drive, lo que existe es la aplicación "on line" llamada "Hojas de Cálculo de Google", que al igual que el Excel,  Lotus y LibreOffice Calc (y otros), son Hojas de Cálculo. Google Drive es un servicio de almacenamiento de archivos "on line", tal como OneDrive o Dropbox (cada uno, por supuesto, con sus propias características). 

¿Hay alguna relación entre Microsoft Excel y Hojas de Cálculo de Google? NO, ninguna fuera de las compatibilidades conocidas al exportar/importar archivos (y otras), el diseño estetico (al ser Software similar) y el nombre y forma de actuar de algunas funciones (tal como era con Lotus y Excel). 

¿Usan Excel y las "Hojas de Cálculo de Google" el mismo lenguaje de programación? No, Excel usa VBA y las secuencias de sus comandos son conocidas como Macros; las "Hojas de Cálculo de Google" usan Google App Script y su secuencia de comandos es conocida como "scripts". Ambos lenguajes NO son compatibles.

Entonces, desde mi punto de vista, al  ser dos cosas distintas, no tiene sentido meter dicho tema en un foro, que como bien dice desde su título, es para ayudar en Excel. Eso no quiere decir que no esté de acuerdo en que se abra un nuevo (sub) foro para el tema de fondo en cuestión tal como hay uno llamado "Access, Word, Power Point, Outlook etc...".

Bueno, eso. Saludos.

Abraham Valencia

PD: Eso me hace recordar el prometido (sub) foro de VB.Net-VSTO  :(

publicado

Hola @Visor y @avalencia

En 20/4/2018 at 17:59 , Visor dijo:

Será que en este foro ´pueda tener cabida también el Excel de googgleDrive, las macros que se realizan  son también impresionantes, no obstante no hay nadie que explique al estilo que lo hacen los foros Excel en especial AyudaExcel. Ya me hice algunas macros y si que son muy utiles sobre todo porque se las puede tener el uso hasta en el celular.

Tal como han comentado No existe un Excel de Google! Hay que saber diferenciar, una cosa es MS Excel con su lenguaje de macros VBA y otra muy distinta Google Sheets (Hojas de cálculo de Google) y su lenguaje de script Google Apps Script (basado en JavaScript). Es curioso, en el foro de Drive tienden mucho a mencionar Excel, cuando realmente no trabajan con este, tengo que estarles remarcando la diferencia.

Hace tiempo intente sembrar la curiosidad en este foro sobre Sheets y Apps Script teniendo una mala experiencia... Había un loco/obsesionado que afirmaba que la grabadora de macros de Excel es única y nadie podría igualarla, desde hace poco Sheets incorporo su grabadora de macros, lástima que ya no este este individuo en el foro... Y ahora estoy de acuerdo Sheets y Apps Script deben tener su propio foro. Hay mucha documentación en internet y también mi blog, el cual espero estar publicando de vez en cuando (https://googlepowerappsmx.blogspot.mx/).

Efectivamente Sheets y Apps Script están de lujo se pueden hacer cosas sumamente interesantes por que puedes combinar varias tecnologías (HTML, CSS, JavaScript) usando los servidores y API's de Google. Y sin duda no creo que derroquen a Excel, pero hay un mercado y futuro prometedor para esta tecnología, yo ya he empezado a sembrar los frutos de haber aprendido un poco de ella.

Saludos!

publicado

Bueno es totalmente cierto lo que mencionan No es lo mismo MS Excel que lo que tiene Google que es una Hoja de Calculo.

La confusión inmediata es que tienen cierto aspecto similar y también hay funciones, macros pero con una especie de JavaScript, formularios que a mi parecer todavía no al igual que en Excel. 

Supongo que debido a que son empresas diferentes no se puede o debe colocar un nuevo tema para estos casos de hojas.

De no ser requerido el que se tenga un nuevo tema de foro, en verdad me gustaría encontrar un Foro al mismo estilo, respeto y consideración con que se maneja en este, en hoja de calculo de google, útil sobre todo para los casos de enviar informacion u obtener informacion remota.

 

  • 9 months later...
publicado
En 25/4/2018 at 20:31 , digitalboy dijo:

Hace tiempo intente sembrar la curiosidad en este foro sobre Sheets y Apps Script teniendo una mala experiencia...

Y también promocionaste como demente a Python y a Ruby y a no sé cuantas más jaladas, diciendo que eran el futuro de Excel (si cómo no, jajajajaja).

Lo anterior lo comentaste desde hace aproximadamente 6 o 7 años creyéndote un profeta y lector del futuro.

Y recientemente con Office 2019, al menos de momento, microsoft le ha dado una soberana patada a Python, y en vez de ello se la juega con JavaScript (otra jalada, pero en fin).

Hoy ya ha paso el tiempo y la inmensa mayoría de usuarios que usan Excel no tienen el mas mínimo interés de aprender esos lenguajes de programación.

Dices que tuviste una mala experiencia y yo digo que te equivocaste rotundamente.

Por aquella época cuando se tocó este tema (hace 6 o 7 años) sin duda la grabadora de macros de VBA era una maravilla y a hoy por supuesto que sigue siendo una belleza aun cuando MicroSoft ya no la ha actualizado como debería.

Durante ese tiempo que te la has pasado de "profeta" prediciendo el futuro, te comento que solo VBA ha estado siempre ahí trabajando de la mano con la mayoría de los usuarios.

Ahora sales con tu jalada de Sheets y Apps Script, ¡vaya en serio que tu no entiendes!

A ver cuantos siguen tu "brillante" idea.

publicado
En 2/2/2019 at 17:30 , Ajedrez dijo:

Y también promocionaste como demente a Python y a Ruby y a no sé cuantas más jaladas, diciendo que eran el futuro de Excel (si cómo no, jajajajaja).

Lo anterior lo comentaste desde hace aproximadamente 6 o 7 años creyéndote un profeta y lector del futuro.

Y recientemente con Office 2019, al menos de momento, microsoft le ha dado una soberana patada a Python, y en vez de ello se la juega con JavaScript (otra jalada, pero en fin).

Hoy ya ha paso el tiempo y la inmensa mayoría de usuarios que usan Excel no tienen el mas mínimo interés de aprender esos lenguajes de programación.

Dices que tuviste una mala experiencia y yo digo que te equivocaste rotundamente.

Por aquella época cuando se tocó este tema (hace 6 o 7 años) sin duda la grabadora de macros de VBA era una maravilla y a hoy por supuesto que sigue siendo una belleza aun cuando MicroSoft ya no la ha actualizado como debería.

Durante ese tiempo que te la has pasado de "profeta" prediciendo el futuro, te comento que solo VBA ha estado siempre ahí trabajando de la mano con la mayoría de los usuarios.

Ahora sales con tu jalada de Sheets y Apps Script, ¡vaya en serio que tu no entiendes!

A ver cuantos siguen tu "brillante" idea.

Imagen relacionada

publicado

Ojalá hubieras defendido tu postura con respecto al tema, pero en vez de eso salisté con otra jalada , "buscate una vida" jajajajaja en serio eres bien "chispa". 

Pasando al tema, voltea alrededor y verás los miles y miles de personas que ya usan Python y Ruby en Excel vaya que le atinasté, jajajajaja. 

En cambio mira a Vba, ese si, ahí sigue trabajando.

 

publicado

Hola, por si alguien se sintió confundido, aclaro que después de muchos meses de no estar por aquí, entré por curiosidad para ver que había y me llevó la sorpresa que muchísimo tiempo después un usuario del foro me sigue recordando gratamente 

 Había un loco/obsesionado que afirmaba que la grabadora de macros de Excel es única y nadie podría igualarla, desde hace poco Sheets incorporo su grabadora de macros, lástima que ya no este este individuo en el foro.

Creo que me extrañaba, jajajaja 

Resumiendo, yo no empecé. 

publicado
Hace 11 horas, Ajedrez dijo:

Hola, por si alguien se sintió confundido, aclaro que después de muchos meses de no estar por aquí, entré por curiosidad para ver que había y me llevó la sorpresa que muchísimo tiempo después un usuario del foro me sigue recordando gratamente 

 Había un loco/obsesionado que afirmaba que la grabadora de macros de Excel es única y nadie podría igualarla, desde hace poco Sheets incorporo su grabadora de macros, lástima que ya no este este individuo en el foro.

Creo que me extrañaba, jajajaja 

Resumiendo, yo no empecé. 

¿Algo mas que deseen agregar a este "interesante debate"?

 

Saludos

publicado
Hace 7 horas, Gerson Pineda dijo:

¿Algo mas que deseen agregar a este "interesante debate"?

 

Saludos

@Gerson Pineda

Por mi parte nada! No hay nada nuevo en este tema... Con gusto puedes cerrarlo! Si no se aporta nada, para aire perder el tiempo. Saludos!

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

  • 109 ¿Te parecen útiles los tips de las funciones? (ver tema completo)

    1. 1. ¿Te parecen útiles los tips de las funciones?


      • No
      • Ni me he fijado en ellos

  • Ayúdanos a mejorar la comunidad

    • Donaciones recibidas este mes: 0.00 EUR
      Objetivo: 130.00 EUR
  • Archivos

  • Estadísticas de descargas

    • Archivos
      188
    • Comentarios
      98
    • Revisiones
      29

    Más información sobre "Cambios en el Control Horario"
    Última descarga
    Por pegones1

    4    1

  • Crear macros Excel

  • Mensajes

    • Hola, veo que tienes 365, así que esta forma funcionará   Almacen.xlsx
    • Buenos días  @LeandroA espero estes bien Tengo un caso idéntico al planteado en la siguiente pregunta: Sin embargo, a diferencia de quien planteo originalmente la pregunta al correr el código no obtengo ningún resultado podrían ayudarme a resolver este inconveniente y que al hacer click en el Botón Guardar (CommandButton3) del Formulario RCS (frmrcs) el archivo pdf quede configurado con orientación vertical, márgenes superior, inferior, derecho e izquierdo = 1 y en página tamaño carta. Si acaso influye uso Microsoft Excel LTSC MSO (versión 2209 Compilación16.0.1.15629.20200) de 64 bits Mucho le sabre agradecer la ayuda que me pueda dar  RCS PRUEBA - copia.xlsm
    • @JSDJSDCon gusto mi estimado Para la opción 1: Sub Surtirhastadondealcanse() Dim ws As Worksheet Set ws = ThisWorkbook.Sheets(1) Dim filaInicio As Integer: filaInicio = 4 Dim filaFin As Integer: filaFin = 7 Dim colInventario As Integer: colInventario = 2 Dim colSolicitudesInicio As Integer: colSolicitudesInicio = 4 ' Columna C Dim colResultadoInicio As Integer: colResultadoInicio = 9 ' Columna I Dim colTotalSurtido As Integer: colTotalSurtido = 12 ' Columna L Dim colFinalInventario As Integer: colFinalInventario = 13 ' Columna M Dim numClientes As Integer: numClientes = 3 Dim fila As Integer, i As Integer For fila = filaInicio To filaFin Dim inventario As Double inventario = Val(ws.Cells(fila, colInventario).Value) Dim solicitudes(1 To 3) As Double Dim surtido(1 To 3) As Variant Dim totalSurtido As Double: totalSurtido = 0 ' Leer solicitudes For i = 1 To numClientes If IsNumeric(ws.Cells(fila, colSolicitudesInicio + i - 1).Value) Then solicitudes(i) = CDbl(ws.Cells(fila, colSolicitudesInicio + i - 1).Value) Else solicitudes(i) = 0 End If surtido(i) = "POR FALTA STOCK" Next i ' Surtir de acuerdo al inventario disponible For i = 1 To numClientes If solicitudes(i) > 0 Then If inventario >= solicitudes(i) Then surtido(i) = solicitudes(i) inventario = inventario - solicitudes(i) totalSurtido = totalSurtido + solicitudes(i) ElseIf inventario > 0 Then surtido(i) = inventario totalSurtido = totalSurtido + inventario inventario = 0 Else surtido(i) = "POR FALTA STOCK" End If End If Next i ' Escribir resultados en las columnas correspondientes para cada cliente For i = 1 To numClientes With ws.Cells(fila, colResultadoInicio + i - 1) If surtido(i) = "POR FALTA STOCK" Then .Value = surtido(i) .Font.Color = vbRed Else .Value = surtido(i) .Font.Color = vbBlack End If End With Next i ' Escribir total surtido y existencia final ws.Cells(fila, colTotalSurtido).Value = totalSurtido ws.Cells(fila, colFinalInventario).Value = inventario Next fila MsgBox "Resultado surtido cargado con éxito...", vbInformation End Sub Para la opción 2:   Sub surtirenpartesiguales() Dim ws As Worksheet Set ws = ThisWorkbook.Sheets(1) Dim filaInicio As Integer: filaInicio = 13 Dim filaFin As Integer: filaFin = 16 Dim colInventario As Integer: colInventario = 2 Dim colSolicitudesInicio As Integer: colSolicitudesInicio = 4 ' Columna C Dim colResultadoInicio As Integer: colResultadoInicio = 9 ' Columna I Dim colTotalSurtido As Integer: colTotalSurtido = 12 ' Columna L Dim colFinalInventario As Integer: colFinalInventario = 13 ' Columna M Dim numClientes As Integer: numClientes = 3 Dim fila As Integer, i As Integer For fila = filaInicio To filaFin Dim inventario As Double inventario = Val(ws.Cells(fila, colInventario).Value) Dim solicitudes(1 To 3) As Double Dim surtido(1 To 3) As Variant Dim totalSurtido As Double: totalSurtido = 0 Dim totalPedido As Double: totalPedido = 0 ' Leer solicitudes For i = 1 To numClientes If IsNumeric(ws.Cells(fila, colSolicitudesInicio + i - 1).Value) Then solicitudes(i) = CDbl(ws.Cells(fila, colSolicitudesInicio + i - 1).Value) totalPedido = totalPedido + solicitudes(i) Else solicitudes(i) = 0 End If surtido(i) = 0 Next i ' Si hay suficiente inventario, surtir lo que el cliente pide If inventario >= totalPedido Then For i = 1 To numClientes If solicitudes(i) > 0 And inventario >= solicitudes(i) Then surtido(i) = solicitudes(i) inventario = inventario - solicitudes(i) totalSurtido = totalSurtido + solicitudes(i) End If Next i Else ' Reparto base igualitario Dim baseSurtido As Long baseSurtido = Int(inventario / numClientes) For i = 1 To numClientes If solicitudes(i) > 0 Then If solicitudes(i) <= baseSurtido Then surtido(i) = solicitudes(i) inventario = inventario - solicitudes(i) totalSurtido = totalSurtido + solicitudes(i) Else surtido(i) = baseSurtido inventario = inventario - baseSurtido totalSurtido = totalSurtido + baseSurtido End If End If Next i ' Repartir sobrante restante uno por uno, respetando lo pedido Do While inventario > 0 For i = 1 To numClientes If surtido(i) < solicitudes(i) Then surtido(i) = surtido(i) + 1 totalSurtido = totalSurtido + 1 inventario = inventario - 1 If inventario = 0 Then Exit For End If Next i Loop End If ' Escribir resultados en las columnas correspondientes para cada cliente For i = 1 To numClientes With ws.Cells(fila, colResultadoInicio + i - 1) If surtido(i) = 0 Then .Value = "POR FALTA STOCK" .Font.Color = vbRed Else .Value = surtido(i) .Font.Color = vbBlack End If End With Next i ' Escribir total surtido y existencia final ws.Cells(fila, colTotalSurtido).Value = totalSurtido ws.Cells(fila, colFinalInventario).Value = inventario Next fila MsgBox "Resultado surtido cargado con éxito...", vbInformation End Sub Saludos, Diego
    • Buenos dias.  Estoy trabajando en una hoja para poder llevar un control de un pequeño almacén.  Tengo un pedido con varias líneas y "lotes" y necesito sacar las ubicaciones que coincidan con la referencia y lote que pone en el pedido. El problema viene cuando tengo la misma referencia y mismo lote en ubicaciones diferentes y necesito sacar la información en columnas diferentes. No se si  me he explicado bien, pero creo que con el ejemplo adjunto se entiende mejor. Agradecería mucho si me pudieran ayudar  Libro1.xlsx
    • Exelente solución mil gracias 
  • Visualizado recientemente

    • No hay usuarios registrado para ver esta página.
×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.