Saltar al contenido

AlexanderS

Moderadores
  • Contador de contenido

    1234
  • Unido

  • Última visita

  • Days Won

    46

Sobre AlexanderS

  • Rango
    Riddle

Información de perfil

  • Sexo Array
  • Localización: Array

Configuraciones

  • Campo que utilizas como separador de argumentos Array

Visitantes recientes del perfil

3563 visitas de perfil
  1. No creo que necesites un blucle para eso, prueba así: Sub copia() Range("A1", [N1].End(xlDown)).SpecialCells(xlCellTypeVisible).Copy _ Sheets("Balance").Range("A1") End Sub
  2. Lo siento pero no puedo ayudarte si no eres mas especifico con tu consulta, adjunta un archivo de ejemplo con lo que esperas.
  3. Utiliza un ciclo for, por ejemplo Sub prueba() For Each celda In Range("A1:A1000").SpecialCells(xlCellTypeVisible) 'Tu código.... Next End Sub Como veras solo recorrera las celdas visibles dentro del rango "A1:A1000" que le especifique. Claro deberas adaptarlo a tu código Saludos
  4. No se cuantos años tengo desde que empece a aprender VBA, es increible que todavia al día de hoy siga aprendiendo cosas. Gracias por compartir. Saludos a todos.
  5. Hola @Pirtrafilla, solo debes colocar dentro de la cadena SQL la conversión al formato deseado, en el caso de moneda quedaria algo así: Select [Proveedor],[Referencia],[Usuario],FormatCurrency([Importe]) as Importe,[Porcentaje],[Previsto],[Contable] En el caso de no querer decimales asi: Select [Proveedor],[Referencia],[Usuario],FormatCurrency([Importe],0) as Importe,[Porcentaje],[Previsto],[Contable] Comentas, saludos.
  6. Este es un foro de ayuda que se dedica a responder dudas puntuales, si lo que buscas es un trabajo completo estas escribiendo en el lugar equivocado. Puedes cotizar el costo del trabajo aqui:https://excelservicios.com/blog/facturador-sunat-macros-excel/, quien es el autor del video que comentas. Saludos.
  7. Buenos días, por favor lee las Normas del foro https://ayudaexcel.com/foro/terms/ Saludos
  8. Lo mas simple esque arriba del listbox coloques algunos Label's con los titulos de las columnas. Saludos
  9. En SQL no se usa "*" despues de un like debes utilizar "%". Elemplo : SELECT [Nombre_Completo],[Edad] FROM Estudiantes WHERE Nombre_Completo like '%Pablo%' Saludos.
  10. Hola, podrias intentar llenar el listbox así: Private Sub UserForm_Initialize() 'macro para llenar Listbox con datos de consulta With ListBox1 'Asignamos 3 columnas de la tabla .ColumnCount = 10 'Definimos el tamaño de las columnas .ColumnWidths = "40 pt; 50 pt; 140 pt; 40 pt; 50 pt; 30 pt; 50 pt; 50 pt; 120 pt; 60 pt" 'Definimos como fila de títulos, la primera fila de la tabla .ColumnHeads = True End With Conexión sql = "Select [PERIODO],[CODIGO_OT],[DESCRIPCION_OT],[CENTRO_CONTABLE],[NRO_COMPROBANTE]" & _ "[AGRUPACION],[IMPORTE_DEBE],[IMPORTE_HABER],[CONCEPTO],[GRUPO]" & _ "From Contable Where GRUPO is null" Rst.Open sql, Conn, 3, 3, 1 If Rst.EOF = False Then Me.ListBox1.Column = Rst.GetRows Rst.Close Set Rst = Nothing Conn.Close Set Conn = Nothing End Sub Saludos
  11. Tienes razón, ya que si no me equiboco ODBC no tiene soporte para "Case When", este aplicaria si tu base de datos esta en un servidor SQL. En tu caso puedes usar alternativas como "IIF" o para mi personalmente la mejor opción "switch". Private Sub SALDOS() ABRIR_RS Sql = "SELECT Store_Name, switch(" & _ " Store_Name = 'Los Angeles',Sales * 2," & _ " Store_Name = 'San Diego', Sales * 1.5," & _ " true,0) as Nuevas_ventas,Txn_Date FROM [Store_Information$]" Rs.Open Sql, Cnn, 1, 1 End Sub Tambien debes tener cuidado a la hora de escribir el nombre de la tabla ya que estas trabajando desde una hoja de excel debes escribir FROM [Store_Information$] no FROM Store_Information Saludos
  12. Hola @nickmartinez, el error es simple, se te olvido colocar los "=", ademas estas utilizando condiciones Multiples. Este es tu código: Sql = "SELECT Store_Name, (CASE Store_Name" & _ " WHEN 'Los Angeles' THEN Sales * 2" & _ " WHEN 'San Diego' THEN Sales * 1.5" & _ " Else Sales End) as Nuevas_ventas,Txn_Date FROM Store_Information" Deberia ser así: Sql = "SELECT Store_Name, (CASE WHEN Store_Name = 'Los Angeles' THEN Sales * 2" & _ " WHEN Store_Name ='San Diego' THEN Sales * 1.5" & _ " Else Sales End) as Nuevas_ventas,Txn_Date FROM Store_Information" Saludos
  13. @sretamalb esta en todo su derecho de realizar consultas en el foro, ya depende de las "buenas personas" si ayudan o no. @Leopoldo Blancas no entiendo tu preocupación, es decisión de cada usuario si quiere aprender o no, al igual que lo es si alguien quiere ayudar o no. Pudiste haber contestado simplemente que no podias... Al perecer tienes un problema con las "Buenas Personas" como yo?
  14. Hola @sretamalb, prueba el adjunto, el código tiene algunas indicaciones que espero puedas analizar . El archivo Txt se genera donde tengas guardado el archivo de excel con el nombre "Archivo.txt", esto lo puedes cambiar desde el código por el que gustes. Comentas, saludos. EXCEL.xlsm
  15. @nickmartinez, sucede lo siguiente, cuando cargas el formulario primero ejecutas un procedimiento para ingresar los encabezados de las columnas en el listbox, esos encabezados son básicamente el problema ya que en esta línea For I = 0 To .ListCount - 1, al iniciar desde la fila 0 estas ingresando el encabezado, la columna ID solo admite números pero le estas ingresando la palabra "ID". Para solucionar esto solo debes modificar la línea así: For I = 1 To .ListCount - 1 , con esto vamos a saltarnos los encabezados. Por otra parte si vas a manejar los datos directamente en la hoja de excel no veo necesidad de utilizar SQL (dadas sus limitaciones con respecto a Access o SQL Server), por ejemplo puedes sustituir ese código por este: Private Sub SQL_Registrar() Dim ult#, I# With Sheets("Productos") For I = 1 To Lista.ListCount - 1 ult = .Range("A" & .Rows.Count).End(xlUp).Row + 1 .Cells(ult, "A") = Lista.List(I, 0) .Cells(ult, "B") = Lista.List(I, 1) .Cells(ult, "C") = Lista.List(I, 2) .Cells(ult, "D") = Lista.List(I, 3) .Cells(ult, "E") = Lista.List(I, 4) .Cells(ult, "F") = ComboBox1.List(ComboBox1.ListIndex, 0) .Cells(ult, "G") = ComboBox2.List(ComboBox2.ListIndex, 0) .Cells(ult, "H") = Lista.List(I, 7) .Cells(ult, "I") = Lista.List(I, 8) Next End With End Sub Yo utilizaria SQL solo para realizar consultas, para agregar o modificar datos utilizaria el código nativo de VBA. Saludos.
×
×
  • 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.