martes, 23 de mayo de 2017

Aprendiendo a pescar V - Macros




Se comienza la actividad descifrando el misterio de Einstein, con las pistas iniciales tenemos el siguiente resultado
de la pista 6 sabemos que la casa verde queda inmediatamente a la izquierda de la blanca, por tanto, solo existen 2 opciones posibles la casa 4 o la casa 3, de esta forma, la casa 1 queda descartada como casa blanca y casa verde, como la casa 2 es la casa azul, la casa 1 solo puede ser la casa amarilla o la casa roja, pero por la pista 1 sabemos que el inglés vive en la casa roja, sin embargo en la casa 1 vive el noruego, así que solo queda la opción de que el Noruego viva en la casa Amarilla. La pista 9 dice que el que vive en la amarilla fuma Durnhill. la pista 12 dice que el hombre que tiene un caballo vive al lado del que fuma Durnhill
Ahora considerando la pista 6 de nuevo que dice que la casa verde queda inmediatamente a la izquierda de la blanca, debemos concluir que sólo hay 2 opciones para ser la casa verde, la casa número 3 y la casa número 4, pero la pista 7 dice que en la casa verde toman café, sin embargo, en la casa 3 ya toman leche, por tanto la casa verde debe ser la casa 4, y en ella toman café, y por tanto la casa 5 debe ser la blanca, y solo queda que la roja sea la 3, por a pista 1 sabemos que en la casa 3 vive en la casa 3.  Solo faltan 2 casas por elegir bebidam la casa 2 y la casa 5, pero la pista 13 dice que el que fuma Bluemaster toma cerveza, y en la casa 2 ya fuman Blends, por tanto es en la casa 5 donde se fuma bluemaster y toman cerveza, por tanto es en la casa 2 donde toman te, la pista 03 dice que es el danes el que toma te, y así tenemos:  
Continuando solo quedan 2 casas por elegir cigarrillo, las casas 3 y 4, pero en la casa 3 ya vive el inglés, por tanto según la pista 05 el alemán, debe fumar prince en la casa 4, sol falta 1 casa por cigarrillos y es la casa 3 qué debe fumar pallmall, la pista 8 dice que el que fuma pallmal cría pájaros, esto será entonces en la casa 3. La pista 2 dice que el sueco posee un perritu, pero en la casa 2 vive un caballo, y en la casa 4 ya vive el alemán, por tanto el sueco solo puede vivir con su perro en la casa 5. falta la mascota de la casa 4, elegimos la única opción que queda, el pez, falta quién vive en la casa 2 elegimos la única opción que falta, el danés. Easy.

Procedemos a desencriptar el documento de archivo de texto con el complemento ENCRIPTYON TOOL que encontramos en la pestaña de complementos, procedemos a desencriptar el archivo de texto


Insertamos la clave que obtuvimos del punto anterior GENIO


Procedemos a organizar los datos en Excel para poder trabajar con las macros

Ahora procedemos a normalizar los datos, para arreglar las fechas utilizamos una función condicional de modo que si el largo del texto es 7, realice la extracción del primer carácter y lo tome como el día, extraiga el segundo y tercero y los tome como mes, y extraiga el cuarto, quinto, sexto y séptimo y los tome como el año, si el largo del texto es diferente, considere ahora los primeros 2 caracteres como el día, el tercero y cuarto como el mes y el quinto, sexto, séptimo y octavo como el año.   


La macro comienza creando nuevas columnas y asignándoles nombre mayúscula y nombre minúscula
Luego procedemos a crear un condicional de modo que en grupos de 10 se organizan los nombres con su correspondiente apellido de acuerdo con la condición del problema
Luego con los resultados podemos utilizar la función concatenar para que quede la columna final con los nombres completos en mayúscula y minúscula


el resultado de la macro es el siguiente


Para el punto 2 podemos calcular los caracteres por filas o por columnas, para este caso decidimos hacerlo a través de las filas, a través de la opción de grabar macros y la función largo de modo que calculamos el largo total por columna, y arrastramos la fórmula y al final sumamos el total de caracteres.




Así quedó el resultado en la pestaña punto 2
Para el punto 3 creamos la columna “día” en la hoja CORRECCION y utilizamos la función texto con el formato de fecha para poder clasificar a los pacientes por día de la semana
Ahora hacemos una tabla dinámica con las columnas día y hospital que queda de la siguiente forma


Para el punto 4 hay que comenzar descubriendo el mensaje que aparece en la hoja BUSQUEDA


Como la hoja está inicialmente en blanco creemos que es necesario cambiar el color de la fuente y descubrimos que efectivamente hay algunas palabras a lo largo de la hoja




ahora procedemos a organizar todas las columnas en orden ascendente para que todas las palabras queden al comienzo de la hoja


Aparecieron 6 palabras


Para el punto 5 procedemos a hacer una macro que le pregunte cuántas tablas de multiplicar quiere y se las presente en la hoja.
Para esto establecemos dos variables, la variable z que es la que introduce el usuario y la variable x que está predeterminada para mostrar la tabla de multiplicar .

La programación es la siguiente
Y así se ve el resultado en excel
Para el punto 6 comenzamos agregando un módulo al documento tal que
Este módulo crea la nueva función “invertir” que utiliza la función StrReverse de Visual Basic para invertir una cadena de texto, luego procedemos a crear la macro para invertir el texto utilizando el siguiente código
El resultado es el siguiente



Para el punto 7 creamos una macro que elimine los número pares de la hoja “punto 7”
y la hoja queda de esta forma


Podemos organizar los números para eliminar los espacios y que la hoja quede de la siguiente forma


Para el punto 8 realizamos dos condicionales anidados de modo que se simulara el funcionamiento de un cajero automático, la programación de la macro fue la siguiente
El resultado de la macro es el siguiente



El cliente tiene la opción de digitar 3 veces la clave que para este ejercicio es 1234, de lo contrario le aparece el primer mensaje de error
Aparece el mensaje que le permite digitar nuevamente la clave, y en caso de equivocarse una tercera vez aparece el siguiente mensaje de error
En caso de digitarla correctamente la macro le permite hacer un movimiento de dinero
el cajero automático la pregunta cuánto dinero desea, en caso de que la cantidad sea mayor al saldo inicial (1.000.000 para este ejercicio) aparece un mensaje de error como se muestra a continuación y se despide
En caso de solicitar una cantidad menor al saldo inicial (1.000.000 para este ejercicio) el simulador le mostrará el saldo final después de la transacción de la siguiente forma y al final se despide
En caso de digitar erróneamente la clave 3 veces consecutivas entonces la tarjeta se bloquea y aparece el siguiente mensaje de error


Para resolver el punto 9 tenemos en cuenta que se tienen 25250 registros de respuestas en total y dado que son 5 preguntas tenemos que la encuesta fue resuelta por 5050 personas de modo que clasificamos las respuestas en 5 grupos
así podemos crear una macro que nos muestre la cantidad de resultados por categoría de la siguiente forma
de modo que podemos agruparlos todos y verlos así
Y los resultados organizados quedan de la siguiente forma


Programación


Sub Punto1()
Columns("D:D").Select
   Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
   Columns("F:F").Select
   Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
   Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
   Range("F1").Select
   ActiveCell.FormulaR1C1 = "Nombre Mayuscula"
   Range("G1").Select
   ActiveCell.FormulaR1C1 = "Nombre Minuscula"
   Range("F2").Select
   
Range("A2").Select
A = 1
B = 11
For N = 1 To 460
   For f = 1 To 10
   If ActiveCell.Value = A Then
   Range("D" & A) = Range("E" & B)
   ActiveCell.Offset(1, 0).Select
   A = A + 1
   B = B - 1
   Else
   ActiveCell.Offset(1, 0).Select
   End If
   Next
B = 20 + B
Next
   Range("D1").Select
   Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
   ActiveCell.FormulaR1C1 = "APELLIDOS"
   Columns("E:E").Select
   Selection.Delete Shift:=xlToLeft
   Range("E2").Select
   ActiveCell.FormulaR1C1 = "=+CONCATENATE(RC[-2],RC[-1])"
   Range("F2").Select
   ActiveCell.FormulaR1C1 = "=+LOWER(RC[-1])"
   Range("E2").Select
   Selection.AutoFill Destination:=Range("E2:E4601")
   Range("E2:E4601").Select
   Range("F2").Select
   Selection.AutoFill Destination:=Range("F2:F4601")
   Range("F2:F4601").Select
   End Sub
Sub punto2()
   
   Range("L1").Select
   ActiveCell.FormulaR1C1 = _
       "=LEN(RC[-11])+LEN(RC[-10])+LEN(RC[-9])+LEN(RC[-8])+LEN(RC[-7])+LEN(RC[-6])+LEN(RC[-5])+LEN(RC[-4])+LEN(RC[-3])+LEN(RC[-2])+LEN(RC[-1])"
   Range("L1").Select
   Selection.AutoFill Destination:=Range("L1:L4601"), Type:=xlFillDefault
   Range("L1:L4601").Select
   Range("K4602").Select
   ActiveCell.FormulaR1C1 = "TOTAL CARACTERES"
   Range("L4602").Select
   ActiveCell.FormulaR1C1 = "=SUM(R[-4601]C:R[-1]C)"
   Range("L4603").Select
   Range("L4602").Select
       With Selection.Interior
       .Pattern = xlSolid
       .PatternColorIndex = xlAutomatic
       .ThemeColor = xlThemeColorAccent6
       .TintAndShade = 0.399975585192419
       .PatternTintAndShade = 0
   End With
   Selection.Borders(xlDiagonalDown).LineStyle = xlNone
   Selection.Borders(xlDiagonalUp).LineStyle = xlNone
   With Selection.Borders(xlEdgeLeft)
       .LineStyle = xlContinuous
       .ColorIndex = 0
       .TintAndShade = 0
       .Weight = xlMedium
   End With
   With Selection.Borders(xlEdgeTop)
       .LineStyle = xlContinuous
       .ColorIndex = 0
       .TintAndShade = 0
       .Weight = xlMedium
   End With
   With Selection.Borders(xlEdgeBottom)
       .LineStyle = xlContinuous
       .ColorIndex = 0
       .TintAndShade = 0
       .Weight = xlMedium
   End With
   With Selection.Borders(xlEdgeRight)
       .LineStyle = xlContinuous
       .ColorIndex = 0
       .TintAndShade = 0
       .Weight = xlMedium
   End With
   Selection.Borders(xlInsideVertical).LineStyle = xlNone
   Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
End Sub
Sub punto3()


   Range("M1").Select
   ActiveCell.FormulaR1C1 = "DÍA"
   Range("M2").Select
   ActiveCell.FormulaR1C1 = "=TEXT(RC[-4],""DDDD"")"
   Range("M2").Select
   Selection.AutoFill Destination:=Range("M2:M4601"), Type:=xlFillDefault
   Range("M2:M4601").Select
End Sub
Sub Punto4()
   Range("B37").Select
   ActiveCell.FormulaR1C1 = "pésimos"
   Range("C37").Select
   ActiveCell.FormulaR1C1 = "malos"
   Range("D37").Select
   ActiveCell.FormulaR1C1 = "regulares"
   Range("E37").Select
   ActiveCell.FormulaR1C1 = "buenas"
   Range("F37").Select
   ActiveCell.FormulaR1C1 = "excelentes"
   Range("B38").Select
   ActiveCell.FormulaR1C1 = "=IF(RC[-1]=1,1,0)"
   Range("C38").Select
   ActiveCell.FormulaR1C1 = "=IF(RC[-2]=2,1,0)"
   Range("D38").Select
   ActiveCell.FormulaR1C1 = "=IF(RC[-3]=3,1,0)"
   Range("E38").Select
   ActiveCell.FormulaR1C1 = "=IF(RC[-4]=4,1,0)"
   Range("F38").Select
   ActiveCell.FormulaR1C1 = "=IF(RC[-5]=5,1,0)"
   Range("B38:F38").Select
   Selection.AutoFill Destination:=Range("B38:F25287"), Type:=xlFillDefault
   Range("B38:F25287").Select
   Range("B3").Select
   ActiveCell.FormulaR1C1 = "=SUM(R[35]C:R[5084]C)"
   Range("B4").Select
   Range("C3").Select
   ActiveCell.FormulaR1C1 = "=SUM(R[35]C:R[5084]C)"
   Range("D3").Select
   ActiveCell.FormulaR1C1 = "=SUM(R[35]C:R[5084]C)"
   Range("E3").Select
   ActiveCell.FormulaR1C1 = "=SUM(R[35]C:R[5084]C)"
   Range("F3").Select
   ActiveCell.FormulaR1C1 = "=SUM(R[35]C:R[5084]C)"
   Range("B10").Select
   ActiveCell.FormulaR1C1 = "=SUM(R[5078]C:R[10127]C)"
   Range("C10").Select
   ActiveCell.FormulaR1C1 = "=SUM(R[5078]C:R[10127]C)"
   Range("D10").Select
   ActiveCell.FormulaR1C1 = "=SUM(R[5078]C:R[10127]C)"
   Range("E10").Select
   ActiveCell.FormulaR1C1 = "=SUM(R[5078]C:R[10127]C)"
   Range("F10").Select
   ActiveCell.FormulaR1C1 = "=SUM(R[5078]C:R[10127]C)"
   Range("B17").Select
   ActiveCell.FormulaR1C1 = "=SUM(R[10121]C:R[15170]C)"
   Range("C17").Select
   ActiveCell.FormulaR1C1 = "=SUM(R[10121]C:R[15170]C)"
   Range("B17:C17").Select
   Selection.AutoFill Destination:=Range("B17:F17"), Type:=xlFillDefault
   Range("B17:F17").Select
   Range("F17").Select
   ActiveCell.FormulaR1C1 = "=SUM(R[10121]C:R[15170]C)"
   Range("B24").Select
   ActiveCell.FormulaR1C1 = "=SUM(R[15164]C:R[20213]C)"
   Range("B24").Select
   Selection.AutoFill Destination:=Range("B24:F24"), Type:=xlFillDefault
   Range("B24:F24").Select
   Range("F24").Select
   ActiveCell.FormulaR1C1 = "=SUM(R[15164]C:R[20213]C)"
   Range("B31").Select
   ActiveCell.FormulaR1C1 = "=SUM(R[20207]C:R[25256]C[4])"
   Range("B31").Select
   ActiveCell.FormulaR1C1 = "=SUM(R[20207]C:R[25256]C)"
   Range("B31").Select
   Selection.AutoFill Destination:=Range("B31:F31"), Type:=xlFillDefault
   Range("B31:F31").Select
   Range("B4").Select
   ActiveCell.FormulaR1C1 = "=R[-1]C/R1C6"
   Range("B4").Select
   Selection.AutoFill Destination:=Range("B4:F4"), Type:=xlFillDefault
   Range("B4:F4").Select
   Selection.Style = "Percent"
   Range("B11").Select
   ActiveCell.FormulaR1C1 = "=R[-1]C/R1C6"
   Range("B11").Select
   Selection.AutoFill Destination:=Range("B11:F11"), Type:=xlFillDefault
   Range("B11:F11").Select
   Selection.Style = "Percent"
   Range("B18").Select
   ActiveCell.FormulaR1C1 = "=R[-1]C/R1C6"
   Range("B18").Select
   Selection.AutoFill Destination:=Range("B18:F18"), Type:=xlFillDefault
   Range("B18:F18").Select
   Selection.Style = "Percent"
   Range("B25").Select
   ActiveCell.FormulaR1C1 = "=R[-1]C/R[-24]C[4]"
   Range("B25").Select
   ActiveCell.FormulaR1C1 = "=R[-1]C/R1C6"
   Range("B25").Select
   Selection.AutoFill Destination:=Range("B25:F25"), Type:=xlFillDefault
   Range("B25:F25").Select
   Selection.Style = "Percent"
   Range("B32").Select
   ActiveCell.FormulaR1C1 = "=R[-1]C/R1C6"
   Range("B32").Select
   Selection.AutoFill Destination:=Range("B32:F32"), Type:=xlFillDefault
   Range("B32:F32").Select
   Selection.Style = "Percent"
    Range("H6").Select
   ActiveCell.FormulaR1C1 = "Resultados generales"
   Range("H7").Select
   ActiveCell.FormulaR1C1 = "pregunta"
   Range("H9").Select
   ActiveCell.FormulaR1C1 = "1"
   Range("H10").Select
   ActiveCell.FormulaR1C1 = "2"
   Range("H11").Select
   ActiveCell.FormulaR1C1 = "3"
   Range("H12").Select
   ActiveCell.FormulaR1C1 = "4"
   Range("H13").Select
   ActiveCell.FormulaR1C1 = "5"
   Range("I7:J7").Select
   Range("J7").Activate
   With Selection
       .HorizontalAlignment = xlCenter
       .VerticalAlignment = xlBottom
       .WrapText = False
       .Orientation = 0
       .AddIndent = False
       .IndentLevel = 0
       .ShrinkToFit = False
       .ReadingOrder = xlContext
       .MergeCells = False
   End With
   Selection.Merge
   Range("I8").Select
   ActiveCell.FormulaR1C1 = "absoluto"
   Range("I9").Select
   ActiveCell.FormulaR1C1 = "=R[-6]C[-7]"
   Range("I10").Select
   ActiveCell.FormulaR1C1 = "=RC[-7]"
   Range("I11").Select
   ActiveCell.FormulaR1C1 = "=R[6]C[-7]"
   Range("I12").Select
   ActiveCell.FormulaR1C1 = "=R[12]C[-7]"
   Range("I13").Select
   ActiveCell.FormulaR1C1 = "=R[18]C[-7]"
   Range("J8").Select
   ActiveCell.FormulaR1C1 = "porcentual"
   Range("J9").Select
   ActiveCell.FormulaR1C1 = "=R[-5]C[-8]"
   Range("J10").Select
   ActiveCell.FormulaR1C1 = "=R[1]C[-8]"
   Range("J11").Select
   ActiveCell.FormulaR1C1 = "=R[7]C[-8]"
   Range("J12").Select
   ActiveCell.FormulaR1C1 = "=R[13]C[-8]"
   Range("J13").Select
   ActiveCell.FormulaR1C1 = "=R[19]C[-8]"
   Range("I7:J7").Select
   ActiveCell.FormulaR1C1 = "=R[-5]C[-7]"
   Range("L7").Select
   ActiveCell.FormulaR1C1 = "=R[-5]C[-9]"
   Range("K7:L7").Select
   With Selection
       .HorizontalAlignment = xlCenter
       .VerticalAlignment = xlBottom
       .WrapText = False
       .Orientation = 0
       .AddIndent = False
       .IndentLevel = 0
       .ShrinkToFit = False
       .ReadingOrder = xlContext
       .MergeCells = False
   End With
   Selection.Merge
   Range("K8").Select
   ActiveCell.FormulaR1C1 = "absoluto"
   Range("K9").Select
   ActiveCell.FormulaR1C1 = "=R[-6]C[-8]"
   Range("K10").Select
   ActiveCell.FormulaR1C1 = "=RC[-8]"
   Range("K11").Select
   ActiveCell.FormulaR1C1 = "=R[6]C[-8]"
   Range("K12").Select
   ActiveCell.FormulaR1C1 = "=R[12]C[-8]"
   Range("K13").Select
   ActiveCell.FormulaR1C1 = "=R[18]C[-8]"
   Range("L8").Select
   ActiveCell.FormulaR1C1 = "porcentual"
   Range("L9").Select
   ActiveCell.FormulaR1C1 = "=R[-5]C[-9]"
   Range("L10").Select
   ActiveCell.FormulaR1C1 = "=R[1]C[-9]"
   Range("L11").Select
   ActiveCell.FormulaR1C1 = "=R[7]C[-9]"
   Range("L12").Select
   ActiveCell.FormulaR1C1 = "=R[13]C[-9]"
   Range("L13").Select
   ActiveCell.FormulaR1C1 = "=R[19]C[-9]"
   Range("N7").Select
   ActiveCell.FormulaR1C1 = "=R[-5]C[-10]"
   Range("M7:N7").Select
   With Selection
       .HorizontalAlignment = xlCenter
       .VerticalAlignment = xlBottom
       .WrapText = False
       .Orientation = 0
       .AddIndent = False
       .IndentLevel = 0
       .ShrinkToFit = False
       .ReadingOrder = xlContext
       .MergeCells = False
   End With
   Selection.Merge
   Range("M8").Select
   ActiveCell.FormulaR1C1 = "absoluto"
   Range("M9").Select
   ActiveCell.FormulaR1C1 = "=R[-6]C[-9]"
   Range("M10").Select
   ActiveCell.FormulaR1C1 = "=RC[-9]"
   Range("M11").Select
   ActiveCell.FormulaR1C1 = "=R[6]C[-9]"
   Range("M12").Select
   ActiveCell.FormulaR1C1 = "=R[12]C[-9]"
   Range("M13").Select
   ActiveCell.FormulaR1C1 = "=R[18]C[-9]"
   Range("N8").Select
   ActiveCell.FormulaR1C1 = "porcentual"
   Range("N9").Select
   ActiveCell.FormulaR1C1 = "=R[-5]C[-10]"
   Range("N10").Select
   ActiveCell.FormulaR1C1 = "=R[1]C[-10]"
   Range("N11").Select
   ActiveCell.FormulaR1C1 = "=R[7]C[-10]"
   Range("N12").Select
   ActiveCell.FormulaR1C1 = "=R[13]C[-10]"
   Range("N13").Select
   ActiveCell.FormulaR1C1 = "=R[19]C[-10]"
   Range("P7").Select
   ActiveCell.FormulaR1C1 = "=R[-5]C[-11]"
   Range("O7:P7").Select
   With Selection
       .HorizontalAlignment = xlCenter
       .VerticalAlignment = xlBottom
       .WrapText = False
       .Orientation = 0
       .AddIndent = False
       .IndentLevel = 0
       .ShrinkToFit = False
       .ReadingOrder = xlContext
       .MergeCells = False
   End With
   Selection.Merge
   Range("O8").Select
   ActiveCell.FormulaR1C1 = "absoluto"
   Range("O9").Select
   ActiveCell.FormulaR1C1 = "=R[-6]C[-10]"
   Range("O10").Select
   ActiveCell.FormulaR1C1 = "=RC[-10]"
   Range("O11").Select
   ActiveCell.FormulaR1C1 = "=R[6]C[-10]"
   Range("O12").Select
   ActiveCell.FormulaR1C1 = "=R[12]C[-10]"
   Range("O13").Select
   ActiveCell.FormulaR1C1 = "=R[18]C[-10]"
   Range("P9").Select
   ActiveCell.FormulaR1C1 = "=R[-5]C[-11]"
   Range("P10").Select
   ActiveCell.FormulaR1C1 = "=R[1]C[-11]"
   Range("P11").Select
   ActiveCell.FormulaR1C1 = "=R[7]C[-11]"
   Range("P12").Select
   ActiveCell.FormulaR1C1 = "=R[13]C[-11]"
   Range("P13").Select
   ActiveCell.FormulaR1C1 = "=R[19]C[-11]"
   Range("R7").Select
   ActiveCell.FormulaR1C1 = "=R[-5]C[-12]"
   Range("Q7:R7").Select
   With Selection
       .HorizontalAlignment = xlCenter
       .VerticalAlignment = xlBottom
       .WrapText = False
       .Orientation = 0
       .AddIndent = False
       .IndentLevel = 0
       .ShrinkToFit = False
       .ReadingOrder = xlContext
       .MergeCells = False
   End With
   Selection.Merge
   ActiveCell.FormulaR1C1 = "=R[-5]C[-11]"
   Range("Q8").Select
   ActiveCell.FormulaR1C1 = "absoluto"
   Range("Q9").Select
   ActiveCell.FormulaR1C1 = "=R[-6]C[-11]"
   Range("Q10").Select
   ActiveCell.FormulaR1C1 = "=RC[-11]"
   Range("Q11").Select
   ActiveCell.FormulaR1C1 = "=R[6]C[-11]"
   Range("Q12").Select
   ActiveCell.FormulaR1C1 = "=R[12]C[-11]"
   Range("Q13").Select
   ActiveCell.FormulaR1C1 = "=R[18]C[-11]"
   Range("R8").Select
   ActiveCell.FormulaR1C1 = "porcentual"
   Range("R9").Select
   ActiveCell.FormulaR1C1 = "=R[-5]C[-12]"
   Range("R10").Select
   ActiveCell.FormulaR1C1 = "=R[1]C[-12]"
   Range("R11").Select
   ActiveCell.FormulaR1C1 = "=R[7]C[-12]"
   Range("R12").Select
   ActiveCell.FormulaR1C1 = "=R[13]C[-12]"
   Range("R13").Select
   ActiveCell.FormulaR1C1 = "=R[19]C[-12]"
   Range("H6:R6").Select
   With Selection
       .HorizontalAlignment = xlCenter
       .VerticalAlignment = xlBottom
       .WrapText = False
       .Orientation = 0
       .AddIndent = False
       .IndentLevel = 0
       .ShrinkToFit = False
       .ReadingOrder = xlContext
       .MergeCells = False
   End With
   Selection.Merge
   Selection.Borders(xlDiagonalDown).LineStyle = xlNone
   Selection.Borders(xlDiagonalUp).LineStyle = xlNone
   With Selection.Borders(xlEdgeLeft)
       .LineStyle = xlContinuous
       .ColorIndex = 0
       .TintAndShade = 0
       .Weight = xlMedium
   End With
   With Selection.Borders(xlEdgeTop)
       .LineStyle = xlContinuous
       .ColorIndex = 0
       .TintAndShade = 0
       .Weight = xlMedium
   End With
   With Selection.Borders(xlEdgeBottom)
       .LineStyle = xlContinuous
       .ColorIndex = 0
       .TintAndShade = 0
       .Weight = xlMedium
   End With
   With Selection.Borders(xlEdgeRight)
       .LineStyle = xlContinuous
       .ColorIndex = 0
       .TintAndShade = 0
       .Weight = xlMedium
   End With
   Selection.Borders(xlInsideVertical).LineStyle = xlNone
   Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
   Range("H7:R13").Select
   Selection.Borders(xlDiagonalDown).LineStyle = xlNone
   Selection.Borders(xlDiagonalUp).LineStyle = xlNone
   With Selection.Borders(xlEdgeLeft)
       .LineStyle = xlContinuous
       .ColorIndex = 0
       .TintAndShade = 0
       .Weight = xlMedium
   End With
   With Selection.Borders(xlEdgeTop)
       .LineStyle = xlContinuous
       .ColorIndex = 0
       .TintAndShade = 0
       .Weight = xlMedium
   End With
   With Selection.Borders(xlEdgeBottom)
       .LineStyle = xlContinuous
       .ColorIndex = 0
       .TintAndShade = 0
       .Weight = xlMedium
   End With
   With Selection.Borders(xlEdgeRight)
       .LineStyle = xlContinuous
       .ColorIndex = 0
       .TintAndShade = 0
       .Weight = xlMedium
   End With
   Selection.Borders(xlInsideVertical).LineStyle = xlNone
   Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
   Range("I7:J13").Select
   Selection.Borders(xlDiagonalDown).LineStyle = xlNone
   Selection.Borders(xlDiagonalUp).LineStyle = xlNone
   With Selection.Borders(xlEdgeLeft)
       .LineStyle = xlContinuous
       .ColorIndex = 0
       .TintAndShade = 0
       .Weight = xlMedium
   End With
   With Selection.Borders(xlEdgeTop)
       .LineStyle = xlContinuous
       .ColorIndex = 0
       .TintAndShade = 0
       .Weight = xlMedium
   End With
   With Selection.Borders(xlEdgeBottom)
       .LineStyle = xlContinuous
       .ColorIndex = 0
       .TintAndShade = 0
       .Weight = xlMedium
   End With
   With Selection.Borders(xlEdgeRight)
       .LineStyle = xlContinuous
       .ColorIndex = 0
       .TintAndShade = 0
       .Weight = xlMedium
   End With
   Selection.Borders(xlInsideVertical).LineStyle = xlNone
   Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
   Range("M7:N13").Select
   Selection.Borders(xlDiagonalDown).LineStyle = xlNone
   Selection.Borders(xlDiagonalUp).LineStyle = xlNone
   With Selection.Borders(xlEdgeLeft)
       .LineStyle = xlContinuous
       .ColorIndex = 0
       .TintAndShade = 0
       .Weight = xlMedium
   End With
   With Selection.Borders(xlEdgeTop)
       .LineStyle = xlContinuous
       .ColorIndex = 0
       .TintAndShade = 0
       .Weight = xlMedium
   End With
   With Selection.Borders(xlEdgeBottom)
       .LineStyle = xlContinuous
       .ColorIndex = 0
       .TintAndShade = 0
       .Weight = xlMedium
   End With
   With Selection.Borders(xlEdgeRight)
       .LineStyle = xlContinuous
       .ColorIndex = 0
       .TintAndShade = 0
       .Weight = xlMedium
   End With
   Selection.Borders(xlInsideVertical).LineStyle = xlNone
   Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
   Range("Q7:R13").Select
   Selection.Borders(xlDiagonalDown).LineStyle = xlNone
   Selection.Borders(xlDiagonalUp).LineStyle = xlNone
   With Selection.Borders(xlEdgeLeft)
       .LineStyle = xlContinuous
       .ColorIndex = 0
       .TintAndShade = 0
       .Weight = xlMedium
   End With
   With Selection.Borders(xlEdgeTop)
       .LineStyle = xlContinuous
       .ColorIndex = 0
       .TintAndShade = 0
       .Weight = xlMedium
   End With
   With Selection.Borders(xlEdgeBottom)
       .LineStyle = xlContinuous
       .ColorIndex = 0
       .TintAndShade = 0
       .Weight = xlMedium
   End With
   With Selection.Borders(xlEdgeRight)
       .LineStyle = xlContinuous
       .ColorIndex = 0
       .TintAndShade = 0
       .Weight = xlMedium
   End With
   Selection.Borders(xlInsideVertical).LineStyle = xlNone
   Selection.Borders(xlInsideHorizontal).LineStyle = xlNone
   
  
   End Sub
   
   
   
Sub punto5()
Z = InputBox("¿cuántas tablas quiere?")
Range("d1").Value = "tabla del " & Z
For X = 1 To Z
Cells(X + 1, 4).Value = Z & "x" & X & "=" & Z * X
Next X
End Sub

Sub Punto6()
X = InputBox("escriba la frase")
Range("B1").Value = X
      Range("A1").Select
   ActiveCell.FormulaR1C1 = "Inserte texto para invertir"
   Range("A2").Select
   ActiveCell.FormulaR1C1 = "texto invertido"
   Range("B2").Select
   ActiveCell.FormulaR1C1 = "=invertir(R[-1]C)"
   Range("B2").Select
   With Selection.Interior
       .Pattern = xlSolid
       .PatternColorIndex = xlAutomatic
       .ThemeColor = xlThemeColorAccent4
       .TintAndShade = 0.799981688894314
       .PatternTintAndShade = 0
   End With
   Selection.Borders(xlDiagonalDown).LineStyle = xlNone
   Selection.Borders(xlDiagonalUp).LineStyle = xlNone
   With Selection.Borders(xlEdgeLeft)
       .LineStyle = xlContinuous
       .ColorIndex = 0
       .TintAndShade = 0
       .Weight = xlMedium
   End With
   With Selection.Borders(xlEdgeTop)
       .LineStyle = xlContinuous
       .ColorIndex = 0
       .TintAndShade = 0
       .Weight = xlMedium
   End With
   With Selection.Borders(xlEdgeBottom)
       .LineStyle = xlContinuous
       .ColorIndex = 0
       .TintAndShade = 0
       .Weight = xlMedium
   End With
   With Selection.Borders(xlEdgeRight)
       .LineStyle = xlContinuous
       .ColorIndex = 0
       .TintAndShade = 0
       .Weight = xlMedium
   End With
   Selection.Borders(xlInsideVertical).LineStyle = xlNone
   Selection.Borders(xlInsideHorizontal).LineStyle = xlNone


End Sub
Sub Punto7()
   For Z = 1 To 22550
   X = Range("A" & Z) Mod 2
   If (X = 0) Then
   Range("A" & Z).ClearContents
   Else
End If
   Next
End Sub
Sub punto8()
MsgBox ("BIENVENIDO AL BANCO LA PRADERITA")
MsgBox ("SU SALDO ES DE $1.000.000")
X = InputBox("DIGITE SU CLAVE")
   If X = 1234 Then
       Y = InputBox("¿CUÁNTO DINERO DESEA?")
       If Y < 1000000 Then
       Z = 1000000 - Y
       MsgBox ("su nuevo saldo es " & "$1000000 - $" & Y & " =" & " $" & Z)
       MsgBox ("GRACIAS POR UTILIZAR ESTE SERVICIO, HASTA LUEGO")
       Else: MsgBox ("SALDO INSUFICIENTE")
       MsgBox ("GRACIAS POR UTILIZAR ESTE SERVICIO, HASTA LUEGO")
       End If
   Else: MsgBox ("CLAVE ERRADA, LE QUEDAN 2 OPORTUNIDADES, INTENTE NUEVAMENTE")
   X = InputBox("DIGITE SU CLAVE")
       If X = 1234 Then
       Y = InputBox("¿CUÁNTO DINERO DESEA?")
       If Y < 1000000 Then
       Z = 1000000 - Y
       MsgBox ("su nuevo saldo es " & "$1000000 - $" & Y & " =" & " $" & Z)
       MsgBox ("GRACIAS POR UTILIZAR ESTE SERVICIO, HASTA LUEGO")
       Else: MsgBox ("SALDO INSUFICIENTE")
       MsgBox ("GRACIAS POR UTILIZAR ESTE SERVICIO, HASTA LUEGO")
       End If
Else: MsgBox ("CLAVE ERRADA, LE QUEDA 1 OPORTUNIDA, INTENTE NUEVAMENTE")
X = InputBox("DIGITE SU CLAVE")
If X = 1234 Then
Y = InputBox("¿CUÁNTO DINERO DESEA?")
If Y < 1000000 Then
Z = 1000000 - Y
MsgBox ("su nuevo saldo es " & "$1000000 - $" & Y & " =" & " $" & Z)
MsgBox ("GRACIAS POR UTILIZAR ESTE SERVICIO, HASTA LUEGO")
Else: MsgBox ("SALDO INSUFICIENTE")
MsgBox ("GRACIAS POR UTILIZAR ESTE SERVICIO, HASTA LUEGO")
End If
Else: MsgBox ("TARJETA BLOQUEADA")
End If
End If
End If


End Sub

No hay comentarios:

Publicar un comentario