santiagomf

santiagomf

Más de 35 años en la informática y más de 20 trabajando con Visual Basic, Access, Excel y otras B
 166K puntos  Castilla y León, España @santiagomf desde - visto
Preguntar

Preguntas y respuestas en Visual Basic

Respuesta en a

Crear txt con macro, concatenar y darle formato a cada dato con ceros a izquierda, en varias lineas.

¿A qué te refieres con 'varias líneas al tiempo'? ¿Tienen distinto formato las líneas? ¿Cómo sabes que formato aplicar a cada línea? Si en alguna columna marcas el formato que lleva, supongamos 1, 2 y 3, puedes llamar a una función que formatee cada...
Respuesta en a

Crear txt con macro, concatenar y darle formato a cada dato con ceros a izquierda

Prueba con este código. Creo que te funcionará: Sub crearTxt() Dim i As Long Dim Nro1 As String Dim Nro2 As String Dim Nro3 As String Dim Nro4 As String Dim Nro5 As String Dim nf As Integer nf = FreeFile Open "c:\archivo2.txt" For Output As nf For i...
Respuesta en a

Ayuda con macro eliminar toda la fila al encontrar una palabra en el texto de la celda

Prueba con este código: Option Explicit Sub borrarCancelaciones() Dim i As Long Dim n As Long n = 0 For i = Cells.SpecialCells(xlCellTypeLastCell).Row To 7 Step -1 ' Desde la última a la línea 7 If InStr(UCase$(Cells(i, 8)), "CANCELACIÓN") > 0 Then...

Se ah producido el error 91 en tiempo de ejecución variable de objeto o bloque with

Yo comprobaría si la variable "cantLista" tiene un valor mayor que 0. Tengo la impresión que no, que vale 0. El "close" debería estar en el bucle justo delante del "Next cont2", ya que si dentro del bucle abres el recordset también deberías cerrarlo...
Respuesta en a

Visual Basic -Función con parámetros predefinidos

Los valores que puede tomar la variable se indican con la instrucción "Enum". Un ejemplo que te servirá de ayuda es: Enum aaa aaa1 = 1 aaa2 = 2 aaa3 = 3 End Enum Function prueba(varAAA As aaa) As Integer prueba = varAAA End Function Cuando llames a...
Respuesta en a

Macro Excel: Sacar datos de BD SQL Server

Yo trabajo con Sql Server y lo que tengo es un acceso a la base de datos a través de ODBC. Después es fácil trabajar con él desde una función Excel. En "Herramientas - referencias" activas "Microsoft ActiveX Data Object library" y creas la función....
Respuesta en a

Macro que me permita preguntar si tengo un rango de celdas seleccionado y copiado antes de ejecutars

Puedes asegurarte si hay un rango seleccionado comprobando que hay seleccionadas más de una fila o más de una columna if ((Application.Selection.Rows.Count = 1) and (Application.Selection.Columns.Count = 1)) then msgbox "No has seleccionado un rango"...
Respuesta en a

Bucle para comparar dos tablas por un campo id y campo monto

Entiendo que quieres poner como conciliados los registros de 2 tablas que tienen el mismo 'doc' y 'monto'. Yo añadiría: que no estén conciliados anteriormente. Yo usaría este código: Sub conciliarBancoSistema() Dim rsB As Recordset Dim rsS As...
Respuesta en a

No funciona minimizar

El primer problema que veo en el código es que tienes abierto un "sub" en la primera línea, que no se cierra: Private Sub UserForm_Click() Por otro lado, la definición de las funciones externas (Private Declare Function) debe ponerse delante de...
Respuesta en a

Error "El subíndice está fuera del intervalo"

Normalmente, cuando creas un libro de Excel, este se genera con 3 páginas: "hoja1", "hoja2" y "hoja3" (o sheet1... en inglés). Por ello, en principio no existe la página 4 pues sólo hay 3. La solución debería ser tan sencilla como crear las páginas...