Jump to content

Antoni

Members
  • Content Count

    10,117
  • Joined

  • Last visited

  • Days Won

    548

Everything posted by Antoni

  1. Perdona, es que prefiero dirigirme a ti que en general. No es buena idea, tu mismo te cortas posibles respuestas. En cualquier caso, sin el archivo y un ejemplo de lo que te sucede y quieres va a ser muy difícil que alguien pueda ayudarte.
  2. Y además, por lo que se deduce del nombre de las variables, no tiene en cuenta el tipo de dato de la definición de la columna en la tabla de la BD.
  3. Como ya ni siquiera se respeta tener 24 horas abierto un tema, me veo obligado a reabrirlo para poder aportar mi solución. Tema: Agenda con búsqueda de registro Adjunto archivo: No es necesario introducir la letra en la celda C6 Para buscar, introducir un valor en cualquier celda del rango C6:J6 y pulsar Buscar. Al Ingresar un nuevo registro, la agenda se reordena por Nombre. Pulsar Restaurar para visualizar la totalidad de la agenda Teléfonos.xlsm
  4. SQL = "insert into recepcion (Fecha_recep,Rto_nro,Cliente,Ciudad,Zona,kilos_real,Cajas_total,Estado,Direccion,otracolumna) values('" & (TextBox9) & "'," & TextBox10 & ",'" & TextBox35 & "','" & TextBox3 & "','" & TextBox5 & "'," & TextBox13 & "," & TextBox29 & ",'" & ComboBox5 & "','" & TextBox1 & "," & otrotextbox & "');" y así sucesivamente. Recuerda que los valores de las columnas definidas como texto en la BD deben ir encerrados entre comillas simples, por ejemplo para insertar PEPE debes poner 'PEPE' en la sentencia SQL.
  5. Y también hay que poner un DoEvents después de modificar la longitud del label. 👍 De F8 a F8 funciona, pero de corrido no.
  6. Solo hay que pensar un poquito, solo un poquito. ComboboxSelectordeHojasycolumnas_conbarradeprogreso.xlsm
  7. 494 mensajes y todavía no te has enterado que hay que subir un archivo. 🙁
  8. Se puede mejorar, pero lo haré mañana que hoy ya no da para más.
  9. A ver si ahora nos entendemos. Function Semana(ByVal Celda As String) As Variant Dim Sábado As Date Semana = "" If Not IsDate(Celda) Then Exit Function Fecha = CDate(Celda) Sábado = CDate(1 & "/" & Month(Fecha) & "/" & Year(Fecha)) Do Until Weekday(Sábado) = vbSaturday Sábado = Sábado + 1 Loop Semana = 1 Do Until Sábado > Fecha Semana = Semana + 1 Sábado = Sábado + 7 Loop End Function fecha en semana.xlsm
  10. Te dejo esta UDF, observa las fórmulas de las columnas F y K del adjunto. Function Semana(ByVal Mes As String, _ ByVal Día As String, _ ByVal Año As String) As Variant Dim Meses(12) As String, M As Integer Dim Fecha As Date, Sábado As Date Semana = "" If Not IsNumeric(Día) Then Exit Function If Not IsNumeric(Año) Then Exit Function For M = 1 To 12: Meses(M) = UCase(MonthName(M)): Next For M = 1 To 12 If Trim(UCase(Mes)) = Meses(M) Then Exit For Next If M > 12 Then Exit Function Sábado = CDate(1 & "/" & M & "/" & Año) Do Until Weekday(Sábado, vbMonday) = 6: Sábado = Sábado + 1 Loop Fecha = CDate(Día & "/" & M & "/" & Año) Semana = 1 Do Until Sábado > Fecha Semana = Semana + 1 Sábado = Sábado + 7 Loop End Function fecha en semana.xlsm
  11. Una más: Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address Like "$A$*" And Target.Row > 2 Then If Range("A" & Target.Row) <> "" Then Range("F" & Target.Row).Formula = _ "=" & Range("F" & Target.Row - 1).Address(False, False) & _ "+" & Range("D" & Target.Row).Address(False, False) & _ "-" & Range("E" & Target.Row).Address(False, False) End If End If End Sub
  12. Sorry! Había un error: Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address Like "$A$*" And Target.Row > 2 Then If Target(1, 1) <> "" Then Target(1, 1).Offset(0, 5).Formula = _ "=" & Target(1, 1).Offset(-1, 5).Address(False, False) & _ "+" & Target(1, 1).Offset(0, 3).Address(False, False) & _ "-" & Target(1, 1).Offset(0, 4).Address(False, False) End If End If End Sub
  13. Producto del aburrimiento de un domingo por la tarde lluvioso. Inserta la fórmula al introducir datos en la columna A. Private Sub Worksheet_Change(ByVal Target As Range) If Target.Address Like "$A$*" And Target.Row > 2 Then If Target.Address <> "" Then Target.Offset(0, 5).Formula = "=" & Target.Offset(-1, 5).Address & _ "+" & Target.Offset(0, 3).Address & _ "-" & Target.Offset(0, 4).Address End If End If End Sub
  14. Los objetos Font e Interior son solo para rangos de Excel, para controles ActiveX deben utilizarse las propiedades ForeColor y BackColor. Crono.xlsm
  15. La macro tal como la tienes solo puede ejecutarse 1 vez, también has de tener cuidado con que los nombres no se dupliquen. Aclara un poco más el error y en que circunstancias se produce.
  16. Supongo que falta afinar alguna cosilla, pero en conjunto, resulta. Este ha sido mi post Nº 10.000 🙂 AYUDAEXCEL ENVIO DE PEDIDOS POP.xlsm
  17. Efectivamente, para hacer lo que tu quieres utiliza un Do/Loop, por ejemplo: x = 4 n = 1000 Do Until x = n If .... Then n = 1200 x = x + 1 loop
  18. Modificando el valor de la variable del For, o sea, en el ejemplo For x = 1 To Hasta, podemos modificar la variable x dentro del bucle. Elvalor de la variable Hasta se toma al iniciar el bucle.
  19. For x = Range("A" & Rows.Count).End(xlUp).Row To 4 Step -1 ' ' Aquí tu código ' ' Next
  20. Sin ver la solución de JSDJSD, selecciona el rango y ejecuta esta macro: Sub NOMPROPIO() For Each CELDA In Selection CELDA.Value = Evaluate("=PROPER(""" & CELDA & """)") Next End Sub
  21. Si, si se puede. Sube una muestra del archivo con un ejemplo del antes y el después de la macro.
×
×
  • Create New...

Important Information

Privacy Policy


CTA Templates.png