Jump to content

xdanielhf01

Members
  • Content Count

    14
  • Joined

  • Last visited

About xdanielhf01

  • Rank
    Member

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Buen dia Antoni, como se dice "dio justamente en el clavo", aprendi lo que me dices, el orden que debe tener la ejecucion de macros, de ahi depende el correcto funcionamiento (...), muchas gracias por tu tiempo brindado en esta inquietud que por mas sencilla que parezca hasta no podia dormir para tratar de resolvera... XD. Se puede dar por solucionado el tema.
  2. muchas gracias a ambos! bigpetroman, Luis Antonio Torres las dos opciones son validas y las puedo usar dependiendo de lo que se necesita. para los que estamos aprendiendo con la ayuda de todos, sus aportes y respuestas nos sirven de mucho!, una vez mas Gracias! se puede dar como solucionado el tema.
  3. Buenas!, les escribo una ves mas para encontrar una solucion a una operacion que parece sencilla, pero que no puedo resolver (...), tengo una hoja de actividades en la cual asigno la tarea, la fecha en que la di y la fecha en la que voy a revisar, lo que no puedo lograr es que vayan disminuyendo el tiempo mientras pasan los dias, ejemplo: tarea dada en fecha 22/02/2020, fecha a revisar 25/02/2020, tendrian 3 dias para presentar, lo que quisiera es que el dia de mañana me marque que faltan 2 dias, pasado, 1 dia y asi hasta llegar al dia de revisado. no puedo usar =hoy()-25/02/2020 (fecha a revisar) dado que no me quedaria grabado el dia que di la tarea. muchas gracias a todos por su tiempo. ejemplo4.xlsm
  4. Buenas!!, un gusto saludarlos nuevamente, vengo por otra inquietud que no me deja dormir... pues como siempre yo con mi proyecto "Frankenstein" con macros adaptadas a lo que necesito pero que milagrosamente funcionan... lo que quisiera es que pudiera elegir el rango de la hoja a imprimir y que se muestre el valor de una celda que identifica el rango, en este caso el nombre del estudiante ubicado en la celda, d10 es decir si voy a imprimir el primer rango A1:I39 elegido en una listbox que me muestre el nombre del estudiante ubicado en D10 e imprima ese rango, seria muy bueno que antes de imprimir se dirija al rango del estudiante elegido para poder visualizar el boletin informativo antes de imprimirlo, tal vez se pueda pero ultimamente al imprimir se ha estado desconfigurando el tamaño del papel, deberia ser siempre tamaño carta pero a veces aparece a4 y no se a que deba. Muchas gracias a todos por su tiempo! RANGOS DE IMPRESIÓN A1:I39 A40:I78 A79:I117 A118:I156 A157:I195 A196:I234 A235:I273 A274:I312 A313:I351 A352:I390 A391:I429 A430:I468 A469:I507 A508:I546 A547:I585 A586:I624 A625:I663 A664:I702 A703:I741 A742:I780 A781:I819 A820:I858 A859:I897 A898:I936 A937:I975 A976:I1014 A1015:I1053 A1054:I1092 A1093:I1131 A1132:I1170 A1171:I1209 A1210:I1248 A1249:I1287 A1288:I1326 A1327:I1365 A1366:I1404 A1405:I1443 A1444:I1482 A1483:I1521 A1522:I1560 Nombres de estudiantes d10 d49 d88 d127 d166 d205 d244 d283 d322 d361 d400 d439 d478 d517 d556 d595 d634 d673 d712 d751 d790 d829 d868 d907 d946 d985 d1024 d1063 d1102 d1141 d1180 d1219 d1258 d1297 d1336 d1375 d1414 d1453 d1492 d1531 ejemplo4.xlsm
  5. Visor, muy buenas noches, me atrevo a escribirte debido a un interesante y "Reorganizador de cronogramas" que publicaste hace algún tiempo, te comento que es juntamente lo que estoy necesitando, soy profesor y me vendría bien para organizar mis actividades y clases que dicto.

    si no fuera mucha molestia y atrevimiento, quisiera que me compartas dicho reorganizador de actividades que al final del post encontraste la solución.

    muchas gracias de antemano!

    gracias.png

    1. Visor

      Visor

      Saludos recien veo tu mensaje, me disculpas, si aun estas interesado por favor enviame el enlace de donde encontraste el tema que mencionas para ponerme al corriente

  6. buenas!, quisiera cambiar el color al label al iniciar el userform5 según la letra que aparezca, "A" fondo color verde y letra también verde (así la letra desaparece), en caso de ser "F" fondo color rojo y la letra de igual manera roja. intente pero no me resulta... pues no hace nada. el label que quisiera que cambie es label4 Private Sub UserForm_Activate() Call CommandButton1_Click End Sub Private Sub CommandButton1_Click() Call CopiaELEGIDO Dim ultimo, contador_frases, contador_imagenes As Integer ultimo = Worksheets("ELEGIDO").Cells(Rows.Count, 2).End(xlUp).Row contador_frases = WorksheetFunction.RandBetween(2, ultimo) UserForm5.Label2.Caption = Worksheets("ELEGIDO").Cells(contador_frases, 2).Value UserForm5.Label4.Caption = Worksheets("ELEGIDO").Cells(contador_frases, 3).Value If Label4.Caption = Worksheets("ELEGIDO").Cells(contador_frases, 2).Value = ("a") Then Label4.BackColor = &HFF& Label4.Font.Bold = True Else Label4.BackColor = &H80000005 Label4.Font.Bold = False End If End Sub Private Sub Userform5_Initialize() If Label4.Caption = Worksheets("ELEGIDO").Cells(contador_frases, 2).Value = ("a") Then Label4.BackColor = &HA& Label4.Font.Bold = True Else Label4.BackColor = &H80000005 Label4.Font.Bold = False End If End Sub los colores que indica la macro no los pude cambiar con "color.red o color.green", los deje asi para probar pero no resulto nada. muchas gracias a todos por su tiempo. ejemplo3.xlsm
  7. Muchas gracias Antoni!, es justamente lo que buscaba, tanto tiempo pensando en como resolverlo con mis metodos larguisimos. y con esa macro tan corta funciona y hace mejor su trabajo... muy agradecido una vez mas.
  8. muchas gracias johnmpl, era justo lo que necesitaba!!!, tal vez pudieras ayudarme en otro problemita que no me deja dormir... estas macros las estoy adaptando para lo yo necesito y poco que se. me quedo muy bien pero... con los conocimientos que tengo y a manera de milagro... pude realizar exactamente lo que necesito, el problema es que todo funciona perfecto pero en otra hoja, y si quiero aplicar lo mismo en la hoja que necesito pues falla. la idea de todo esto es que pueda insertar números consecutivos de acuerdo a la cantidad de una celda "C1", los inserte y los desordene, a los números insertados que me copie hasta alcanzar la cantidad de 40 filas, es decir. en la celda C1 me pide formar 5 grupos, entonces copiaría 8 veces esos grupos ya desordenado. en resumen todo esto para crear grupos de estudiantes con la cantidad que yo elija y aleatorio. adjunto el conjunto de macros que tuve que adaptar y crear para lograr lo que necesito con lo poco que se ... (es extenso debido a que estoy tomando en cuenta si quisiera formar solo 2 grupos.) Sub consecu() With Range("a1") Range(.Range("a1"), .End(xlDown)).ClearContents .Value = 1 .AutoFill .Resize(Range("C1")), xlFillSeries End With Range("a1", Range("a1").End(xlDown)).Select Call desSeleccion End Sub Sub desSeleccion() Dim Elem&, Temp&, i& Dim Orden As New Collection Application.ScreenUpdating = False With Selection Elem = .Rows.Count On Error Resume Next Do Temp = Int(1 + Rnd * Elem) Orden.Add Temp, CStr(Temp) Loop Until Orden.Count = Elem On Error GoTo 0 For i = 1 To Elem .Range("A" & i) = Orden.Item(i) & "|" & .Range("A" & i) Next i .Sort .Range("a1"), xlAscending For i = 1 To Elem .Range("A" & i) = Mid(.Range("A" & i), 1 + InStr(1, .Range("A" & i), "|")) Next i End With Range("a1", Range("a1").End(xlDown)).Copy Range("a1").End(xlDown).Offset(1, 0).Select ActiveSheet.Paste Call grupo2 Call grupo3 Call grupo4 Call grupo5 Call grupo6 Call grupo7 Call grupo8 Call grupo9 Call grupo10 Call grupo11 Call grupo12 Call grupo13 Call grupo14 Call grupo15 Call grupo16 Call grupo17 Call grupo18 Call grupo19 Application.ScreenUpdating = True End Sub Sub grupo2() Range("a1").End(xlDown).Offset(1, 0).Select ActiveSheet.Paste End Sub Sub grupo3() Range("a1").End(xlDown).Offset(1, 0).Select ActiveSheet.Paste End Sub Sub grupo4() Range("a1").End(xlDown).Offset(1, 0).Select ActiveSheet.Paste End Sub Sub grupo5() Range("a1").End(xlDown).Offset(1, 0).Select ActiveSheet.Paste End Sub Sub grupo6() Range("a1").End(xlDown).Offset(1, 0).Select ActiveSheet.Paste End Sub Sub grupo7() Range("a1").End(xlDown).Offset(1, 0).Select ActiveSheet.Paste End Sub Sub grupo8() Range("a1").End(xlDown).Offset(1, 0).Select ActiveSheet.Paste End Sub Sub grupo9() Range("a1").End(xlDown).Offset(1, 0).Select ActiveSheet.Paste End Sub Sub grupo10() Range("a1").End(xlDown).Offset(1, 0).Select ActiveSheet.Paste End Sub Sub grupo11() Range("a1").End(xlDown).Offset(1, 0).Select ActiveSheet.Paste End Sub Sub grupo12() Range("a1").End(xlDown).Offset(1, 0).Select ActiveSheet.Paste End Sub Sub grupo13() Range("a1").End(xlDown).Offset(1, 0).Select ActiveSheet.Paste End Sub Sub grupo14() Range("a1").End(xlDown).Offset(1, 0).Select ActiveSheet.Paste End Sub Sub grupo15() Range("a1").End(xlDown).Offset(1, 0).Select ActiveSheet.Paste End Sub Sub grupo16() Range("a1").End(xlDown).Offset(1, 0).Select ActiveSheet.Paste End Sub Sub grupo17() Range("a1").End(xlDown).Offset(1, 0).Select ActiveSheet.Paste End Sub Sub grupo18() Range("a1").End(xlDown).Offset(1, 0).Select ActiveSheet.Paste End Sub Sub grupo19() Range("a1").End(xlDown).Offset(1, 0).Select ActiveSheet.Paste End Sub Aqui funciona bien (hoja temp.grupos) Esta es la hoja en la que deberia funcionar (Grupos) Muchas gracias por tu tiempo. ejemplo 2.xlsm
  9. buen día a todos, con una macro que pondré a continuación puedo insertar números consecutivos del 1 al 10 (seria muy bueno que el máximo de números consecutivos se tome del valor de una celda, ejemplo (desde 1 hasta C1 = 20, es decir C1 me da el máximo que puede generar), ¿alguna manera que estos números queden desordenados mediante macro, estuve investigando y encontré otra macro que desordena pero las palabras, no funciona con números. Consecutivos Sub consecutivos() Dim Fila As Integer Dim Columna As String Columna = "A" Fila = 1 Range(Columna & Fila).Select Do While (ActiveCell.FormulaR1C1 <> "10") Range(Columna & Fila).Select If ActiveCell.FormulaR1C1 = 50 Then Fila = 1 End If ActiveCell.FormulaR1C1 = Fila Fila = Fila + 1 Loop End Sub desordenar palabras Sub Des_Ordenar_Seleccion() Dim Elementos As Long, Fila As Long, Ceros As String, _ Orden As New Collection, Temp Application.ScreenUpdating = False With Selection Elementos = .Rows.Count Ceros = String(Len(CStr(Elementos)), "0") Do: On Error Resume Next Temp = Int((Rnd * Elementos) + 1) Orden.Add Temp, CStr(Temp) Loop Until Orden.Count = Elementos For Fila = 1 To Elementos .Cells(Fila, 1) = Format(Orden.Item(Fila), Ceros) & .Cells(Fila, 1) Next: .Sort Key1:=.Cells(1, 1), Order1:=xlAscending For Fila = 1 To Elementos .Cells(Fila, 1) = Mid(.Cells(Fila, 1), Len(CStr(Elementos)) + 1) Next End With End Sub EJEMPLO.xlsm
  10. Buenas tardes a todos, quisiera saber si se puede hacer que mediante una macro, en un boton me pregunte si deseo imprimir a color o a blanco y negro, ¿Como lo haría? gracias por tu tiempo a todos..!
  11. Buen día Héctor Miguel muchas gracias por tu ayuda, con ponerlos manualmente me refiero a que me fijo en que grupo cayeron los estudiantes (en el generador de grupos), y me voy a la otra hoja (la cual elabore) y los pongo fijándome en la hoja anterior, así con cada uno de los estudiantes. la idea general es distribuir equitativamente en grupos a los estudiantes, pudiendose conformar grupos, si elijo 5 grupos, dividir la cantidad de estudiantes, ejemplo 30 entre los 5 grupos, o con, 4, 6, 7 grupos. (Que pueda poner en el formato que elabore) tal vez alguna formula o macro que pueda hacer eso, aunque prescinda del generador de grupos que tengo yo. gracias por tu tiempo.
  12. Buenas noches a todos, mediante filtros puedo generar los grupos de acuerdo a la cantidad de estudiantes que desee y distribuido equitativamente. lo que quisiera es que se pueda asignar un numero a cada nombre, para poder pasar a un formato de grupos que elabore. no se me ocurre como hacerlo en estos momentos, tal vez sea sencillo, complicado... la primera imagen es el formato que cree, en el cual pongo el grupo "manualmente" que le toco al estudiante, y desde ahí mediante vinculo se dirige a otras hojas. la segunda imagen es el generador de grupos equitativos de acuerdo al numero de integrantes que decida. muchas gracias a todos de antemano.
  13. Muchas gracias Antoni por su ayuda, para que funcione lo tengo que poner de manera manual, si me pudieras ayudar en que la macro se ejecute aunque el dato que reciba dependiente a formula, ejemplo estas son las que estoy utilizando : para contar las filas con datos: =CONTARA(C14:C58) para establecer la cantidad de filas: =SI(Y(T17>=10; T17<25);25;SI(Y(T17>=30;T17<35);30;"")) la idea es que en la hoja solo aparezcan las filas necesarias o las filas que se ocupan, mientras las que quedan en blanco se oculten, así se puede imprimir correctamente la hoja. muchas gracias Antoni por tu ayuda.
  14. Buenas!, estoy tratando de ocultar determinadas filas de acuerdo a el valor de una celda (S17), con la siguiente formula funciona correctamente: Sub PROBADNO1() Dim celda celda = [s17] Application.ScreenUpdating = False Select Case celda Case 25 Rows("14:38").Hidden = False Rows("39:58").Hidden = True Case 30 Rows("14:43").Hidden = False Rows("44:58").Hidden = True Case 35 Rows("14:48").Hidden = False Rows("49:59").Hidden = True Case 40 Rows("14:53").Hidden = False Rows("54:58").Hidden = True Case 45 Rows("14:58").Hidden = False Case Else Cells.Select Selection.EntireRow.Hidden = False Range("A1").Select End Select Application.ScreenUpdating = True End Sub para que funcione necesito asociarla a un botón, ¿Habría la forma de hacerlo automáticamente sin tener que pulsar el botón?, es decir que yo no escribiré la cantidad (25, 30, 35, 40, 45), sino que eso se hace automático a través de una suma de filas (no habría mi intervención). gracias de antemano!
×
×
  • Create New...

Important Information

Privacy Policy