Jump to content

DiegoPC

Members
  • Posts

    925
  • Joined

  • Last visited

  • Days Won

    45

Everything posted by DiegoPC

  1. Hola No lo deshabilites, solo haz que si restaura la ventana se la vuelves a maximizar a la mala y de paso lo amenazas por malcriado. Private Sub Workbook_WindowResize(ByVal Wn As Window) If Wn.WindowState <> xlMaximized Then Wn.WindowState = xlMaximized Application.StatusBar = "Te dije que no se permite restaurar la ventana, lo vuelves a hacer y te apago la computadora" End If End Sub
  2. Hola a todos. Otra forma... =Max(5000;D8*7,3%)
  3. Creo que @JasallBcn preguntaba por la versión del solicitante (quien abrió este hilo) y no de @Antoni casi me caigo como el popular Condorito, jajajaja
  4. Usando la bola de cristal.... Presiona CTRL + Fin, podría apostar (parezco apostador compulsivo) que al presionar esa compbinación de teclas, te va a enviar a la última fila. Si eso es cierto, Excel asume que has usado la totalidad de filas y, por lo tanto, ya no puedes adicionar más.
  5. Hola. Se me ocurre que te puede servir Power Automate, pero como este es un foro de Excel, tal vez me baneen 😅
  6. Hola Reemplaza tu código por este otro Dim C As Control For Each C In Me.Controls If TypeName(C) = "Label" Then C.BackStyle = fmBackStyleTransparent Next
  7. Hola Jugando un poco a las adivinanzas porque no subiste un archivo... haz un condicional (SI) donde preguntes si el valor es mayor a cero, en caso sea falso devuelves un error con la función NOD y el valor no se graficará
  8. Hola Creo que falta información... ¿Has revisado que la macro que quieres ejecutar exista en el libro? ¿Lo grabaste como xlsm? La macro que intentas ejecutar ¿No estará en el libro personal de macros? ¿Cambiaste de usuario? ¿Reinstalaste tu sistema operativo? Hay muchas cosas que podrían estar fallando, adjuntar tu archivo ayudaría
  9. A mi nunca me ha funcionado el "Mouse Wheel" en textboxes, Listboxes y comboboxes. Nada de nada
  10. Buenas noches @Pinoji Me atrevo a proponer otra solución, aparte de la del gran maestro @Antoni. Yo lo haría en el evento exit del cuadro de texto.... Private Sub TxtIdentidad_Exit(ByVal Cancel As MSForms.ReturnBoolean) On Error Resume Next TxtEdad.Text = Evaluate("=DateDif(" & CLng(DateSerial(Left(TxtIdentidad.Text, 2), Mid(TxtIdentidad.Text, 3, 2), Mid(TxtIdentidad.Text, 5, 2))) & "," & CLng(Date) & ",""y"")") If err.Number <> 0 Then TxtEdad.Text = "N/A" End If End Sub En resumen, mi planteamiento no es hacer una UDF (función definida por el usuario) sino que, siendo un vago completo, prefiero usar herramientas que ya provee Excel, como la amada función SIFECHA (DateDif) solo para evitar la fatiga 😂 Si hay algún error con los 6 primeros dígitos, pone "N/A" como respuesta a la edad. El tema de resolver el año correcto de 4 dígitos (puesto que únicamente se digitan 2) se lo dejo al sistema operativo, yo no me meto en discusiones (otra vez por vago), que eso lo determine el Sistema Operativo según su configuración regional.
  11. Hola Entiendo que quieres sumar A1 y A2 si ambas son negativas y restarlas en cualquier otro caso. Al menos por tu explicación entendí eso, si no lo comprendimos bien entonces adjunta un archivo con ejemplos de lo que quieres o especifica mejor. Si lo que comprendí es lo que necesitas... =Si(Max(A1:A2)<0,A1+A2,A1-A2)
  12. Pues es para que quede claro que falta el comprobante de pago, seguro Gerson lo hizo a propósito😁
  13. Hola Lo bonito de Excel es que hay muchas formas de lograr lo que uno quiere, la función SI no es la única que te puede ayudar. Adjunto un archivo con 5 formas distintas de lograrlo, seguramente los maestros formuleros encontrarán otras formas distintas, esperemos para ver qué locuras inventaron, seguro aprenderé algo más Muestra Varias Opciones.xlsx
  14. Hola Hay varias formas de lograr lo que quieres... No uses celdas combinadas, es lo peor que puede hacer alguien al usar Excel y, paradójicamente, lo que más les gusta a los usuarios Usa Power Query para rellenar las celdas y haces tu filtro en la tabla resultante. Crea una macro que descombine y rellene las celdas en blanco. Pide trabajo en Microsoft, entra al equipo que desarrolla Excel e implementa la funcionalidad 😆
  15. Hola! Me dieron muchas ganas de ayudarte, luego vi que no has adjuntado ningún archivo, me dio flojera hacer uno desde cero, no vi que hayas hecho un intento mínimo de avanzar y... se me quitaron las ganas. Después de un rato dije: "Lo haré, pero desganadito", recuerda que tienes que estudiar (me parece que es tu tarea del curso básico de Excel) y agradece al señor que me vende la fruta porque me pasó su listado y no tuve que inventar uno. Frutas.xlsx
  16. Hola Tal vez así? Sub Conteo() Application.ScreenUpdating = False Dim X As Byte, Y As Byte Y = 64 For X = 0 To 100 If X > 0 And X Mod 5 = 0 Then Y = Y + 1 End If Range("A" & X + 1).Value = IIf(Y > 64, Chr(Y), "") & X Next Application.ScreenUpdating = True End Sub
  17. Hola Podrías hacerlo con una UDF. En tu celda podrías poner: =Compara(A2,B2) Y la UDF en VBA: Function Compara(T1 As String, T2 As String) As Boolean Compara = True Dim Tmp As String Tmp = T2 For X = 1 To Len(T1) Pos = InStr(1, Tmp, Mid(T1, X, 1)) If Pos > 0 Then Mid(Tmp, Pos, 1) = "/" Else Compara = False Exit Function End If Next End Function La idea del reemplazo de la letra por "/" es para que no haya problemas si el primer texto tiene, por ejemplo, 5 letras "E" y el segundo texto solo tiene 4 letras "E", si no hiciera el reemplazo la respuesta sería True, gracias al reemplazo la respuesta sería False. Conste que dijiste "caracteres" y no palabras. Si tu idea hubiese sido con palabras, la solución podría darse con Split y uso de arrays
  18. Supondiendo que tu número está en A1... =TEXTO(A1,"0, \K")
  19. Hola. Si los objetos aparecen en el orden de tabulación es porque existen, para tal caso tendrías que borrarlos. Fíjate en sus propiedades Top, Left, Height y Width, seguramente tus objetos están fuera del formulario o son diminutos y ni se ven.
  20. Hola Anda a Archivo => Opciones => Revisión => Opciones de autocorrección, en la pestaña de autoformato mientras escribe, seguramente tienes desmarcada la opción de incluir nuevas dilas y columnas en la tabla
  21. Hola Pues la línea de código podrá ser la misma en un año, pero los datos podrían haber cambiado. Como dice Antoni, se tendría que validar el RecordCount. Podría apostar que el error está en lo que has escrito en la celda B10 de la hoja Índice... Me inclino a pensar que le pusiste espacios en blanco al inicio o final, dejaste la marca en blanco o escribiste una que no existe. Recuerda que si quieres todas las marcas, debes escribir TODAS en lugar de dejarlo en blanco.
  22. Hola No sé si te entendí bien. Si lo que deseas es que cualquier número distinto a 1 se vea pero el 1 no, lo puedes hacer con formato personalizado: [<>1]General;
  23. Hola. En realidad puedes usar formato condicional o validación (cualquiera de las dos) pero hay que comprender que sus finalidades son distintas. Formato condicional busca únicamente cambiar los colores según ciertas condiciones, pero no limita lo que el usuario pueda escribir, para eso está la validación. Tienes que ver qué deseas hacer y decidirte
  24. Saludos @chiquitinx y @Antoni Como bien lo indicó Antoni, se puede pasar directamente los valores en los argumentos de la función o método; o sino indicar el nombre del argumento seguido de dos puntos e igual y luego el valor que tomará dicho argumento. A esto se le llama pasar argumentos con nombre o named arguments en inglés. Adjunto un artículo de Microsoft al respecto. https://docs.microsoft.com/en-us/office/vba/language/concepts/getting-started/understanding-named-arguments-and-optional-arguments
  25. Hola Tal vez es esto? Está listo para registrar los datos en la segunda hoja cuando se envíe a imprimir. planillas carros automatizar.xlsm
×
×
  • Create New...

Important Information

Privacy Policy