Jump to content

AlexanderS

Moderators
  • Content Count

    1,356
  • Joined

  • Last visited

  • Days Won

    54
  • Country

    Costa Rica

Everything posted by AlexanderS

  1. Hola @hernanmrx, te dejo un ejemplo de una formula valida en DAX. Comentas, saludos. Ejemplo DAX.xlsx
  2. @fredy122, para que podamos entenderte mejor y poder ayudarte debes adjuntar un archivo de excel de ejemplo, preferiblemente con algún progreso que tengas. De mi parte te comparto este pequeño código que debes copiar al módulo del libro "ThisWorkbook", cuando selecciones un rango de celdas con números te devolverá algunos resultados. Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range) On Error GoTo salir Resul = "Max: " & Application.WorksheetFunction.Max(Target) & Chr(10) Resul = Resul & "Min: " & Application.WorksheetFunction.Min(Target) & Chr(10) Resul = Resul & "Media: " & Application.WorksheetFunction.Median(Target) & Chr(10) Resul = Resul & "Cuenta: " & Application.WorksheetFunction.Count(Target) & Chr(10) Resul = Resul & "Suma: " & Application.WorksheetFunction.Sum(Target) & Chr(10) MsgBox Resul salir: End Sub La idea es que lo uses como guía para que prepares tu archivo, en este caso muestra la información en un msgbox pero lo puedes adaptar para un formulario. Saludos.
  3. Debes de estar escribiendo mal la ruta de la BD, no afecta que el archivo este en en la red siempre y cuando tengas permisos para acceder a ella. Lo que suelo hacer para no equivocarme al escribir la ruta es usar esta opción del explorador de archivos Saludos.
  4. Este error se da cuando en la tabla de access hay columnas que no existen o tienen un nombre distinto en la hoja de excel, debes revisar que todos los campos están dentro de los 2 archivos y que se llamen igual tomando en cuenta mayúsculas y minúsculas. Los archivos que compartiste, el libro de excel no tienen ninguna hoja relacionada a la tabla de access, no se si fue un error al subir el archivo o no te entendí algo. Te tejo el ejemplo de como debería funcionar el código que te compartí, debes ejecutar la macro "Actualiza_Cttos" en la hoja "Datos a Exportar" Saludos. Prueba cttos.zip
  5. Hola @xveganx, para tener un mayor entendimiento sobre las consultas siempre se solicita un archivo de ejemplo, en tu caso la tabla de access y el excel, con datos ficticios es suficiente ya que lo se requiere es ver la estructura de tus archivos. Te dejo un pequeño código que hace lo que quieres, siempre y cuando lo sepas adaptar a tu archivo. Sub Exp_ACCESS() Set cn = CreateObject("ADODB.Connection") dbPath = "C:\Users\Usuario\Documents\Database1.accdb" '>>> RUTA de la BD Tabla = "Tabla1" ' >>> Nombre de la tabla de Access dbWb = Application.ActiveWorkbook.FullName dbWs = Application.ActiveSheet.Name scn = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & dbPath dsh = "[" & Application.ActiveSheet.Name & "$]" cn.Open scn ssql = "Delete * From " & Tabla cn.Execute ssql ssql = "INSERT INTO " & Tabla & " ([CONTRATO], [CONTRATO SAP], [FECHA], [PROVEEDOR], [SUCURSAL], [DESCRIPCION], [MONEDA]) " ssql = ssql & "SELECT [CONTRATO], [CONTRATO SAP], [FECHA], [PROVEEDOR], [SUCURSAL], [DESCRIPCION], [MONEDA]" & _ " FROM [Excel 8.0;HDR=YES;DATABASE=" & dbWb & "]." & dsh cn.Execute ssql MsgBox "Listo !!", vbInformation End Sub Saludos.
  6. Lo siento pero no tengo idea, y no puedo hacer mas pruebas dadas las limitaciones de mi cuenta de instagram. Tendrás que leer la documentación del conector, tal vez hay un paso que nos saltamos.
  7. 1.Esto solo funciona en una cuenta empresarial de Instagram. https://vilmanunez.com/guia-activar-perfil-de-empresa-instagram/ 2.La cuenta de instagram debe estar vinculada a la de facebook. https://vilmanunez.com/como-enlazar-tu-perfil-de-instagram-con-tu-pagina-de-fans-en-facebook/ 3.Debes descargar el conector https://drive.google.com/uc?export=download&id=11koYwbUjwJNoO4SIj7n7n91xH9b0sPTn. 4.Crear una carpeta en Documentos llamada Power BI Desktop y dentro de esta una llamada Custom Connectors después guardar el archivo descargado dentro de esta carpeta. 5.Abrir Power BI, probablemente te salga un mensaje con una advertencia acerca del conector no certificado, debes ir a Opciones->Seguridad y en Exenciones de Datos marcar la segunda opción y reiniciar Power BI. 6.Abrir Power BI ir a Archivo->Obtener Datos->Mas... en Otras encontraras el conector a Instagram. 7.Te pedirá iniciar sesion en Facebook y darle permiso a la aplicación a acceder a tus datos. 8.Listo deberías ver algo así: Esto fueron los pasos que yo seguí, aparte de esto no puedo decirte mas ya que mi cuenta al inicio no era empresarial por lo que no tengo estadísticas . Saludos.
  8. Imagino que en el archivo donde lo probaste tienes filas en blanco antes del primer salto de linea, creo que ese es el error. No es necesario solo estoy contando 40 lineas de lo contrario simplemente no hace nada. Le indico en esta linea Range("A1", Range("A1").End(xlDown)).SpecialCells(xlCellTypeVisible) que apartir de la celda A1 se vaya a la ultima celda con datos, por eso si tienes alguna celda vacía por ejemplo en la fila 12 hasta ahí llega ciclo for. Prueba ahora con esta modificación, no es necesario indicar la cantidad de filas ya que encontrara la ultima fila de la columna A con datos, esto es conveniente si tus datos van a crecer aun mas. Sub insertar_filas() Dim x#, celda As Range Application.ActiveSheet.ResetAllPageBreaks For Each celda In Range("A1", Range("A" & Cells.Rows.Count).End(xlUp)).SpecialCells(xlCellTypeVisible) x = x + 1 If x = 40 Then x = 0 ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(celda.Row + 1) End If Next End Sub De igual manera y por aquello puedes usar esta linea también For Each celda In Range("A1:A10000").SpecialCells(xlCellTypeVisible) Saludos.
  9. A mi me funciona sin problema, prueba el adjunto. Demo.xlsm
  10. @jik, basado en tu ejemplo, con esta modificación debería funcionar sin importar donde o cuantas celdas ocultas tengas. Sub insertar_filas() Dim x#, celda As Range Application.ActiveSheet.ResetAllPageBreaks For Each celda In Range("A1", Range("A1").End(xlDown)).SpecialCells(xlCellTypeVisible) x = x + 1 If x = 40 Then x = 0 ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Rows(celda.Row + 1) End If Next End Sub Comentas, saludos.
  11. Si planeas utilizar Power BI, puedes intentar utilizar un custom data connector, estos como indica su nombre son conectores personalizados no oficiales de microsoft. No lo he probado por lo que no se si funciona o si se adapta a tu caso, solo sirve (por el momento) con power bi la versión gratis o de pago. Te dejo el link para descargar el complemento https://new.scitylana.com/connectors Y el enlace al repositorio de GitHub donde puedes encontrar las instrucciones https://github.com/mbilling/PBIConnectors Saludos.
  12. @jik, prueba así. Sub insertar_filas() For i = 40 To 1000 Step 40 ActiveWindow.SelectedSheets.HPageBreaks.Add Before:=Range("A" & i + 1) Next End Sub El archivo es por normas del foro, puedes armar un pequeño ejemplo con solo datos ficticios, tómalo en cuenta para futuras consultas. Saludos.
  13. Hola @jik, para que te podamos ayudar adecuadamente debes explicar mejor tu problema y adjuntar un archivo excel de ejemplo con lo que esperas de resultado. Te dejo una idea para que puedas adaptarlo a tu archivo. Sub insertar_filas() For i = 1 To 10000 Step 4 Cells(i, 1).EntireRow.Insert Shift:=xlDown Next End Sub saludos.
  14. Hola @Gerson Pineda, lo que pasa es que este archivo lo tenia para uso personal con algunas columnas mas y se me olvido corregir el rango cuando las elimine. Subo el archivo con la corrección, gracias por avisar. Saludos.
  15. Version 1.0.1

    126 downloads

    Que tal, les comparto este archivo el cual utilizo para enviar correos de Outlook desde la comodidad de Excel. Esto es de utilidad si como en mi caso necesitas enviar un mismo correo a varias personas pero con diferentes archivos adjuntos. Sin mas espero que el aporte sea de utilidad. Saludos.
  16. Corregido el error que marcaba el número de día del mes anterior o siguiente si era igual al número de día actual, gracias @aaquino por avisar. Saludos.
  17. Hola @Nicomem14, debes asegurarte de tener activo el complemento y agregarlo a las referencias desde la ventana de VBA. Saludos.
  18. Version 2.0.0

    455 downloads

    La contraseña del proyecto VBA es "riddle" Hola, el día de hoy voy a compartir una alternativa al control dtpicker, que seria básicamente un calendario que se instala como complemento y puede ser utilizado en cualquier formulario VBA. Los pasos serian los siguientes: 1. Descargar el complemento, es preferible que lo guardes en la carpeta por defecto para complementos de excel la cual suele estar aqui: "C:\Users\NOMBRE USUARIO\AppData\Roaming\Microsoft\Complementos", o simplemente lo guardan donde deseen. 2.Instalamos el complemento Guía para instalar complementos 3.Vamos a abrir el archivo excel donde queremos que el calendario aparezca y nos dirigiremos a la Ventana de VBA (Alt + F11), iremos a Herramientas -> Referencias, y activaremos la que dice CalendarioRiddle. 4.El calendario esta listo para ser usado, solo debemos ligarlo a un textbox, para esto crearemos un botón junto al textbox y agregaremos el siguiente código el el evento click() del CommandButton: Private Sub CommandButton1_Click() CalendarioR TextBox1 End Sub Se debe colocar la palabra "CalendarioR" seguido del nombre del textbox que guardara la fecha. El calendario por defecto empieza la semana el día Domingo, podemos cambiar esto agregando un 2 como segunda variable para que empiece por el día Lunes: Private Sub CommandButton1_Click() CalendarioR TextBox1, 2 End Sub También es posible cambiar el color del calendario (por defecto es negro) agregando como tercera variable el color deseado, por ejemplo morado: Private Sub CommandButton1_Click() CalendarioR TextBox1, 2, &H400040 End Sub Quedaría así: Para cambiar de mes dan click sobre el mes actual y seleccionan el mes deseado, para volver al día actual click sobre la leyenda del día de hoy. Pueden salir del calendario con la tecla "ESC" del teclado. Saludos y espero que sea de utilidad.
  19. Me gusto lo de navegar por las carpetas con el web browser. Saludos.
  20. Version 1.0.1

    91 downloads

    Revisando mis viejos aportes me encontré con este, que como indica el titulo es el viejo juego de NES recreado en VBA. Tal vez la mayor utilidad de este aporte (ademas de ofrecer horas de diversión ) es que todo el juego esta realizado con controles de formulario, por lo que es una buena referencia sobre como funcionan los controles de formulario y la forma en que se pueden manipular en tiempo de ejecución. Así que bueno que se diviertan!! Saludos
  21. Hola @Callao2908 y @Haplox, para la versión de Office x64 se debe agregar una pequeña instrucción al los Declare. que seria PtrSafe, esto hace compatible una instrucción de 32bits a 64bits. Básicamente tendrían que reemplazar las declaraciones del modulo "modPastePicture" para que queden de esta forma: Private Declare PtrSafe Function IsClipboardFormatAvailable Lib "user32" (ByVal wFormat As Integer) As LongPtr 'Open the clipboard to read Private Declare PtrSafe Function OpenClipboard Lib "user32" (ByVal hwnd As LongPtr) As LongPtr 'Get a pointer to the bitmap/metafile Private Declare PtrSafe Function GetClipboardData Lib "user32" (ByVal wFormat As Integer) As LongPtr 'Close the clipboard Private Declare PtrSafe Function CloseClipboard Lib "user32" () As LongPtr 'Convert the handle into an OLE IPicture interface. Private Declare PtrSafe Function OleCreatePictureIndirect Lib "olepro32.dll" (PicDesc As uPicDesc, RefIID As GUID, ByVal fPictureOwnsHandle As LongPtr, IPic As IPicture) As LongPtr 'Create our own copy of the metafile, so it doesn't get wiped out by subsequent clipboard updates. Declare PtrSafe Function CopyEnhMetaFile Lib "gdi32" Alias "CopyEnhMetaFileA" (ByVal hemfSrc As LongPtr, ByVal lpszFile As String) As LongPtr 'Create our own copy of the bitmap, so it doesn't get wiped out by subsequent clipboard updates. Declare PtrSafe Function CopyImage Lib "user32" (ByVal handle As LongPtr, ByVal un1 As LongPtr, ByVal n1 As LongPtr, ByVal n2 As LongPtr, ByVal un2 As LongPtr) As LongPtr 'The API format types we're interested in Con esta modificación debería trabajar sin problemas tanto en office x86 como x64. Saludos.
  22. Version 3.0.0

    853 downloads

    Este es un aporte que había compartido en el foro de ideas y aportes por allá del 2014, se trata de una macro que puede crear un formulario para ingreso y modificación de datos sin necesidad de que el usuario escriba códigos. Lo subo de nuevo aquí ya que por lo que veo en el foro de ideas y aportes el archivo dejo de existir, dejo el link del post original ya que en el se encuentran mas detalladas las instrucciones y un video de como utilizar el aporte. POST ORIGINAL El mismo es un archivo .Bas y debe importar desde la ventana de VBA para después ejecutar la macro "MakeForm" que es la que crea el formulario. IMPORTANTE: Se debe tener habilitada la opción "Confiar en el acceso al modelo de objetos de proyectos VBA", ya que el formulario se crea en tiempo de ejecución.
×
×
  • Create New...

Important Information

Privacy Policy