-
Contador de contenido
11886 -
Unido
-
Última visita
-
Días con premio
912
Todo se publica por Antoni
-
Hola josemaría: Para ambiar el nombre de thisworbook, hemos de proceder exactamente como en cualquier otro objeto: F4 para tener las propiedades abiertas, click en Thisworkbook, y cambiar la propiedad .Name por el nombre que queramos. Es increible, pero pasa totalmente desapercibido, hasta hace poco, yo tampoco me había dado cuenta que se podía cambiar. ¡Ah! y lo mismo pasa con las hojas. En relación con los "cuadritos", se pueden llegar ha hacer maravillas jugando con los colores y tamaños. Saludos.
-
Hola: En el "otro foro", alguien hizo una consulta de como dibujar cuadrados en la hoja con los bordes de las celdas, y pensé, que forma mas estúpida de perder el tiempo y decidí que aburrirse todavía era una forma mas estúpida de perder el tiempo, o sea que aquí me teneis haciendo una herramienta para recuadrar rangos. Espero que os parezca tan inútil como a mi, pero si alguien tiene que hacer muchas plantillas, igual hasta le vale. Eso si, si alguien tiene dudas de como usar un control spinbutton, de como recuadrar una celda, o de como se pone color a un borde, igual le entretiene un rato. Pues nada mas, ya falta menos para la Navidad. Saludos. Macro. ¡Ah! Recuerdos de Cleo para todos. Cuadrático.zip
-
Extraer numeros de cadena alfanumerica (mejorada)
tema contestó a Antoni en Gerson Pineda Ideas y aportes
Hola: Pues después de ver a tanto "monstruo" por aquí, no iba yo a quedarme mudo. Sub SoloNumeros() For Each celda In Selection For x = 1 To Len(celda.Value) If IsNumeric(Mid(celda.Value, x, 1)) Then cadena = cadena & Mid(celda.Value, x, 1) Next x celda.Value = cadena Next celda End Sub [/CODE] Que los vientos os sean propicios para que vuestras naves lleguen a puerto amigo. Y si no teneis naves, pues,...........no se,.....ya se me ocurrirá algo. Saludos. -
Extraer numeros de cadena alfanumerica (mejorada)
tema contestó a Antoni en Gerson Pineda Ideas y aportes
Hola: Hay un refrán español que dice: "La cabra siempre tira al monte",......jajaja Un abrazo amigo Gerson -
Fecha y Hora en Titulo de Userform (formulario)
tema contestó a Antoni en Gerson Pineda Ideas y aportes
Hola Gerson: Veo que poco a poco vas cambiando de bando, jejeje. Un abrazo. -
Hola: Otra muestra mas del aburrimiento en un día de "perros" en Galicia. Se explica por si solo. Hasta la próxima si no me ahogan las lluvias. Editar listbox con multiselección.zip
-
Gracias Pedro: Pero todavía puede ser mas fácil: FechaFinal = FechaInicial + Dias[/CODE] Solo pretendía explicar que existen unos parámetros que son opcionales, y que pueden informarse o no. Evidentemente, con los tres parámetros a false, la función carece de sentido. Saludos cordiales.
-
Hola: Esta macro, coloca un reloj en A1, para arrancarlo, ejecutar la macro, y para pararlo, rellenar A1 con el color rojo. Sub RELOJ() On Error Resume Next If ActiveSheet.Cells(1, 1).Interior.Color = vbRed Then Application.OnTime Hora, "RELOJ", SCHEDULE:=False Else ActiveSheet.Cells(1, 1) = Now Hora = Now + TimeValue("00:00:01") Application.OnTime Hora, "RELOJ", SCHEDULE:=True End If End Sub [/CODE] Saludos.
-
Hola: Función para, dada una fecha inicial y un número de días laborables, obtener una fecha final. Formas de llamada: FechaFinal = SumarDias 'Obtiene el siguiente día laborable a hoy FechaFinal = SumarDias(Fecha) 'Obtiene el siguiente día laborable a Fecha) FechaFinal = SumarDias(Fecha, Dias) 'Obtiene la fecha transcurridos un nº de días) En el propio libro, debe existir una hoja de nombre "Festivos" con los días festivos excluidos sábados y domingos. Estas fechas deben informarse en la columna 1. De no existir la hoja "Festivos", debe informarse de un tercer parámetro en la llamada: FechaFinal=SumarDias(Fecha, Dias, False) Si además se quieren excluir los sábados como festivos: FechaFinal= SumarDias(Fecha, Dias, False, False) Y también se quieren excluir los domingos como festivos: FechaFinal= SumarDias(Fecha, Dias, False, False, False) Enjoy it ! Macro. SumarDias.zip
-
Hola: La comparación entre las dos hojas, es "física" y no "lógica", se comparan todas las celdas de una hoja con, exactamente las mismas celdas de la otra hoja, es decir A1 con A1, A2 con A2, A3 con A3,...... y así sucesivamente. Si insertas o eliminas una celda o una fila, a partir de ahí, todas las celdas serán marcadas como "diferencia" ya que no coinciden de acuerdo con la regla anterior. Abre un nuevo tema en el foro de macros, sube una muestra del archivo, y le echaré un vistazo. Saludos.
-
Hola: La respuesta es si a ambas preguntas. Saludos.
-
Hola pueblo: A Gerson: Como bien dice tuve, yo tampoco consigo entender que es lo que te sucede. Dada mi vagancia genética, escribo lo menos posible, y jamás he utilizado .Value no solo en los controles ComboBox, si no, absolutamente en todos los objetos de Excel, salvo en los bucles For Each y con With, ya que algunas veces se confunde el valor con el objeto. A verzulsan: A ti quería yo pillarte,.....jeje. Así que utilizo el On Error Resume Next a la ligera,.....vale, vale, pues ahora te vas a enterar: Un momento que tengo que ir al baño,...... que me ha dado un apretón. ¡ Uff ...! Que tranquilo me he quedado,... sigamos. Utilizo Resume Next, si y solo si, tengo controlados absolutamente todas las posibilidades de error y continuar con el proceso, no constituye un problema para la normal finalización de la operación. En el caso que nos ocupa, es decir el aporte realizado, solo se produce un error, y es cuando se selecciona la totalidad de la hoja. En este caso se produce el error "Desbordamiento", dado que para la normal funcionalidad del aporte, el seleccionar la totalidad de las celdas no tiene ningún sentido, dejo terminar el procedimiento ya que su rango solo se aplica a las columnas 1-4 y a partir de la fila 10 y cuando se ha seleccionado una sola celda. Apuntar que con On Error GoTo Errores, desvías la ejecución a la etiqueta Errores:, que con Resume Next después de la etiqueta Errores: continúas inmediatamente después de donde se produjo el error y que con On Error GoTo 0, desactivas cualquier control sobre los errores que se puedan producir, y el procedimiento queda listo para usar otro On Error en cualquier otro punto. Decir también, que una instrucción On Error desactiava el On Error anterior y que si se produce un error en un procedimiento que no tiene control de érrorres, es como si el error se hubiera producido en el punto de la llamada a ese procedimiento. ¡Ah! y para finalizar, no te creas todo lo que leas en las páginas "guiris", que van todo el día "mamaos". Y recuerda On Error GoTo Consultar foro de Ideas y Aportes. Esperando que los idus de noviembre os hayan sido propicios. Antoni, alias "El Resume Next".
-
Hola: Cada vez es mas difícil encontrar algo que no se haya hecho ya. Por lo que no me queda mas remedio que volver a inventar la rueda. Os adjunto un sistema de como realizar una validación de datos sin utilizar la "Validación de datos" de Excel. ¿ Que ventajas tiene ?, Absolutamente ninguna, pero, ya sabeis, ........, como me aburría..... Saludos a todos. Tranquilo Toldeman, que te tengo presente en mis oraciones. Validacion.zip
-
Hola: A falta de otra cosa, vamos a meter la cuchara Para numerar de forma absoluta por fila: Sub CorrelativosFila() For Each celda In Selection: celda.Value = celda.Row: Next End Sub[/CODE] Para numerar de forma absoluta por columna [CODE] Sub CorrelativosColumna() For Each celda In Selection: celda.Value = celda.Column: Next End Sub[/CODE] Para numerar de forma relativa [CODE] Sub Correlativos() For Each celda In Selection: x = x + 1: celda.Value = x: Next End Sub[/CODE] Para numerar de forma relativa a partir de la última numeración relativa: [CODE] Public x Sub Correlativos() For Each celda In Selection: x = x + 1: celda.Value = x: Next End Sub [/CODE] Pues nada mas, en cuanto os descuideis, atacaré de nuevo. Saludos
-
Hola: Como dije esto: y como ya he tenido 10 minutos libres, os subo el capricho del "nene verzulsan". Besitos al perro y patadas a la familia..... ¿ o es al revés ? ...... EmparejarEquipos II .zip
-
Hola Santi: A grandes males, grandes remedios, sortea los participantes. Otra solución consiste en generar aleatoriamente un array desde 1 hasta el Nº de elementos. y luego utilizar los valores del array variando el indice desde 1 hasta el Nº de elementos. Si no has entendido nada, no te preocupes, yo tampoco lo entiendo cuando lo leo. Cuando tenga 10 minutos libres, lo modifico, y lo vuelvo a subir. Saludos.
-
Hola: Aquí os dejo mi último pensamiento filosófico. En colaboración con Toldeman, hemos realizado el emparejemiento de n elementos, siendo n cualquier numero par mayor que dos. El sistema empleado, es un algoritmo de todos contra todos publicado en una página web, cuyo nombre no recuerdo ahora mismo, pero que está comentada en la macro. Esto puede utilizarse para realizar calendarios de competiciones a una vuelta o a doble. La macro muestra los resultado con emparejamientos a una vuelta, para confecionar la segunda vuelta, solo hay que copiar el Calendario e invertir los elementos. Debeís fijaros que un elemento que está en primer lugar en un emparejamiento dado, aparece en segundo lugar en el siguiente, y así sucesivamente, pudiendo usar esta característica como campo propio y campo contrario. A vuestra disposición, su fiel y seguro servidor, Macro. EmparejarEquipos .zip
-
Re: Cual fue tu primer post en AyudaExcel? Hola: Pues yo, no recuerdo ni de que va este foro........jajaja. Un abrazo a todos.
-
Gracias Abraham, Luis, Gerson, Never y Santi por vuestro interés y vuestros comentarios. Ahora ya se un poco mas sobre el tema. De hecho, yo para añadir una hoja copiando de otra, siempre había usado: Sheets("Antigua").Cells.Copy Sheets("Nueva").Cells[/CODE] Y al olvidarme .Cells en ambos lados, me di cuenta del tema. Saludos y besos para todos. Besos, de hermano, por supuesto,,,,jajaja Antoni.
-
Hola: He descubierto por error algo que desconocía. Worksheets("Hoja1").Copy Worksheets("Hoja1")[/CODE] Este código añade al libro una hoja con los datos de Hoja1 con el nombre "Hoja1 (2)" Si le añadimos: [CODE]ActiveSheet.Name = "Copia de Hoja1"[/CODE] Tenemos una forma fácil de copiar una hoja con el nombre que queramos, es decir: [CODE]Worksheets("Hoja1").Copy Worksheets("Hoja1") ActiveSheet.Name = "Copia de Hoja1"[/CODE] Seguramente muchos ya lo conociais, pero a mi me ha sorprendido que con el método Copy podamos añadir una hoja. Saludos. Antoni.
-
Hola Gerson: ¿ Es posible que tu adjunto esté vacío ? Saludos. Antoni.
-
Gracias Santiago: Le echare un vistazo. Saludos. Antoni.
-
Hola Gerson: Todavía estoy con la boca abierta, es impresionante, me lo guardo en el baúl de imprescindibles. Saludos. Antoni.
-
Hoy el mundo parece mas bonito que ayer.
-
Pues animo josémaría, solo es cuestión de ponerle ganas y tiempo. Gracias por la felicitación.