Respuestas de la comunidad
-
Abraham Valencia's post in Generar código QR was marked as the answer
Para esa versión se me ocurre usar otra web y una UDF:
Function InsertQRCode(celda As Range) As String Dim mirango As Range Dim QRCodeURL As String Set mirango = Application.Caller QRCodeURL = "https://quickchart.io/qr?text=" & celda.Value With ActiveSheet.Pictures.Insert(QRCodeURL) .Left = mirango.Left .Top = mirango.Top .Width = mirango.Width .Height = mirango.Height End With InsertQRCode = "" End Function
-
Abraham Valencia's post in Imprimir pdf was marked as the answer
Hola. Ahora sí ya lo vi. Basta esta línea antes del Save:
objJSO.FlattenPages Comentas
-
Abraham Valencia's post in Abrir archivos o no macro open was marked as the answer
Hola, te adjunto una de varias formas. Saludos.
Archivo A.xlsm
-
Abraham Valencia's post in NO FUNCIONA BIEN LA FUNCIÓN JERARQUÍA (RANK) EN VBA. was marked as the answer
No olvides que "a mano" es escribir directo en la celda y solo "2.05", si lo obtuviste de una función SUMA o de cualquier otra celda y/o lo ingresaste con decimales y/o lo obtuviste con cualquier función, así sea solo copiar/pegar o similar, pues ya "algo" pudo haber pasado.
En el caso de ver detalles de los archivos, hay varias webs en donde convierten en Zip los archivos de Excel, mira esos.
-
Abraham Valencia's post in Como declarar un textbox activex en la formula de una celda was marked as the answer
Hola nuevamente
Si en tu pestaña "Programador" activas el botón de "Modo diseño", podrás elegir cualquiera de tus TextBox, una vez elegido cualquiera, das clic derecho (sin que se pierda la elección) y en el menú contextual que se desplegará eliges "Propiedades", buscas la que te menciono y en el casillero respectivo colocas, por ejemplo, "A1" (sin las comillas). Desactivas el Modo Diseño y cualquier cosa que escribas en el TextBox que seleccionaste, aparecerá en la celda A1 en automático.
-
Abraham Valencia's post in Macros que al ejecutarse se detiene y aparece este mensaje: error '-2147023170(800706be) en tiempo de ejecución: error de automarización was marked as the answer
Parece ser cosa de la memoria y recursos de tu PC. Igual intenta así:
Sub SumarEnRangoOptimizado() Dim folderPath As String Dim fileName As String Dim wb As Workbook Dim ws As Worksheet ' Carpeta que contiene los archivos folderPath = "D:\Carpeta\" ' Deshabilitar actualizaciones de pantalla y cálculos automáticos Application.ScreenUpdating = False Application.Calculation = xlCalculationManual ' Crear una instancia de Excel Application ' Set excelApp = CreateObject("Excel.Application") ' excelApp.DisplayAlerts = False ' Desactivar las alertas ' Iterar sobre los archivos en la carpeta fileName = Dir(folderPath & "\*.xlsx") Do While fileName <> "" ' Abrir el archivo Set wb = Workbooks.Open(folderPath & "\" & fileName) Set ws = wb.Sheets(1) ' Primera hoja de trabajo ' Aplicar la fórmula directamente en el rango With ws .Range("A3239:D3850").Formula = "=A$3238 + (ROW()-3238)" .Range("A3239:D3850").Value = .Range("A3239:D3850").Value ' Convertir las fórmulas en valores End With ' Cerrar el archivo sin guardar cambios wb.Close SaveChanges:=True Set ws = Nothing Set wb = Nothing ' Obtener el siguiente archivo en la carpeta fileName = Dir Loop ' Cerrar la instancia de Excel Application ' excelApp.Quit ' Set excelApp = Nothing ' Habilitar actualizaciones de pantalla y cálculos automáticos Application.ScreenUpdating = True Application.Calculation = xlCalculationAutomatic MsgBox "La operación se ha completado en todos los archivos de la carpeta.", vbInformation End Sub Comentas