Jump to content

Retos de programacion


alucard2011

Recommended Posts

Posted

Buenos dias a todos hace mucho me acuerdo que un compañero del foro Digitalboy nos regalo un reto de programacion hace poco me encontre uno igual de un concurso solo que es de lenguaje PHP lo anexo igual que como el otro reto ver el tipo de programacion en VBA. saludos. anexo el codigo respuesta.

esto con el fin de salir de lo cotidiano un poco del foro.

Problema

Teclado de móvil

El alfabeto inglés contiene 26 caracteres y los teléfonos móviles sólo tienen diez dígitos en el teclado. Varias letras se mapean en cada tecla numérica, como se muestra en la imagen inferior, de forma que se pueda escribir un mensaje con pulsaciones repetitivas. Por ejemplo, para insertar el carácter B, se deberá presionar 22. Para introducir una secuencia de dos caracteres a partir de la misma tecla, el usuario debe hacer una pausa antes de pulsar el botón una segunda vez. Por ejemplo, 2 2 indica AA mientras que 22 indica B (se muestra un "carácter de espacio" para indicar una pausa).

Debe crear un programa que calcule la secuencia de teclas que hay que pulsar para escribir un cierto mensaje.

Entrada

La primera línea de entrada contiene un único entero N, el número de casos de prueba.Cada caso es una línea de texto con formato

mensaje_deseado

Cada mensaje consta sólo de minúsculas de la "a" la "z" y el carácter " " (espacio, que se emite presionando cero).

Salida

Para cada caso de prueba, la salida de una línea que contiene "Caso # x:", seguido por el mensaje traducido en la secuencia de pulsaciones de teclas.

Ejemplo

Entrada

4

hi

yes

foo bar

hello world

Salida

Caso #1: 44 444

Caso #2: 999337777

Caso #3: 333666 6660 022 2777

Caso #4: 4433555 555666096667775553

Solución en lenguaje PHP:

<?php

function teclado_movil($mensaje_deseado){

//Inicializar el teclado
$key = array();
$char = ord('a');

// Guardo las teclas que corresponden a cada letra
for($tecla = 2; $tecla <=9; $tecla++){
//Todas las teclas tienen 3 letras excepto la 7 y la 9 que tienen 4
$hasta = ($tecla == 7 || $tecla == 9)? 4 : 3 ;
for($pulsar = 1; $pulsar <= $hasta; $pulsar){
$key[$char++] = array('tecla' => $tecla, 'pulsar' => $pulsar++);
}
}

//Para el espacio (tecla 0)
$tecla = 0;
$pulsar = 1;
$key[ord(' ')] = array('tecla' => $tecla, 'pulsar' => $pulsar++);

//Transformar string en array
$letras = str_split ($mensaje_deseado);
foreach($letras as $letra){
//Obtengo la tecla que le corresponde y la cantidad de pulsaciones
$tecla = $key[ord($letra)]['tecla'];
$pulsar = $key[ord($letra)]['pulsar'];
//Si es la misma tecla que la anterior va espacio
if($tecla == $tecla_anterior)
$respuesta .= ' ';
//Presiono la tecla la cantidad de veces necesaria
for($i = 0; $i < $pulsar; $i++){
$respuesta .= $tecla;
}
//Antes de seguir recuerdo a esta tecla como la anterior
$tecla_anterior = $tecla;
}
return $respuesta;
}

//Cantidad de casos
$N = $_REQUEST['N'];

//Mensajes
$mensajes = $_REQUEST['mensajes'];

for($i = 1; $i <= $N; $i++){
$mensaje_deseado= $mensajes[$i];
$respuesta = teclado_movil($mensaje_deseado);
echo "Caso #$i: $respuesta <br/>";
}
?>[/PHP]

P.D. espero sirva como entretenimiento para los que les gustan los retos saludos

Posted

Buenas Alucard, se parece mucho a lo de los retos de facebook.

Oye, el caso 3 "foo[_]bar" ¿no deberia ser "333666 666022 2777"?, "333666 6660 022 2777" tendria dos espacios en medio "foo[_][_]bar"

Posted

que tal verzulsan no sabia de los retos de facebook buscare unos ya que hay veces que uno se aburre y busca cosas diferentes este era de un concurso de apenas mayo de este año y si tienes razon lleva 2 espacios, me parecio correcto compartir este reto por la emulacion de la escritura como un telefono celular, espero no faltar alguna regla del foro.

Saludos tambien me acuerdo que habia un tema hace mucho en los que macro antonio creo un reto para salir de la monotonia seria bueno retomarlo pero con las funciones nuevas de excel 2010 en adelante sirve que varios nos retroalimentamos.

Posted

Reto superado en excel, el main, (en el adjunto), es solo para llamar a la función. He tomado el rango (A1:AN) como entrada de datos al main y el rango (B2:BN) como salida de datos.

Public Function CadenaToTecladoMovil(Cadena As String) As String
Dim Res As String
Dim LastNum As Integer
For i = 1 To Len(Cadena)
If LastNum <> 0 And LastNum = CInt(Left(GetSequence(Mid(Cadena, i, 1)), 1)) Then Res = Res & " "
LastNum = CInt(Left(GetSequence(Mid(Cadena, i, 1)), 1))
Res = Res & GetSequence(Mid(Cadena, i, 1))
Next
CadenaToTecladoMovil = Res
End Function
Public Function GetSequence(Letra As Variant) As String
Dim Sequence() As String
Dim Posicion As String
Sequence = Split("2;22;222;3;33;333;4;44;444;5;55;555;6;66;666;7;77;777;7777;8;88;888;9;99;999;9999", ";", , vbTextCompare)
If Letra = " " Then
GetSequence = "0"
Else
Posicion = Asc(Letra) - 97
GetSequence = Sequence(Posicion)
End If
End Function[/CODE]

tambien me acuerdo que habia un tema hace mucho en los que macro antonio creo un reto para salir de la monotonia seria bueno retomarlo pero con las funciones nuevas de excel 2010 en adelante sirve que varios nos retroalimentamos.

Nada mejor que romper la monotonía; no uso el 2010 pero recuerdo ese post, yo me apunto, eso sí, mis aportes serán de versiones inferiores o iguales a 2007.

Saludos.

Teclado Numerico.xls

Posted

Me quito el sombrero vaya que en excel el codigo tiene una reduccion significante.

y claro lo que comentaba es que como sabemos excel es enorme en cuanto a codigos desde el office 2007 tubo cambios tanto para bien como para mal nos quito algunos codigos de programacion y anexo mas a sus bibliotecas buscare algunos y como comente sera para salir de la monotonia y al igual para muchos aprender de lo nuevo que tiene en cuanto a cambios desde el 2007 en adelante saludos y espero alguien tambien tome el reto del teclado es bueno aprender varios codigos.

saludos

P.D. Muy buena la implementacion de las pulsaciones me gusto para la identificacion del 7 y del 9 :encouragement:

- - - - - Mensaje combinado - - - - -

Anexo un reto mas se que lo resolveras muy rapido amigo verzulsan este es de un concurso llamado tuenti y el reto era el siguiente:

Una suma difícil

Crea un programa capaz de calcular la suma de los números que se indicarán en la entrada estándar, separados por espacios, y mostrar los resultados en pantalla. Los números pueden ser negativos, grandes y las líneas pueden contener espacios adicionales, por lo que el programa debe ser robusto.

Ejemplo de entrada

123456789012 1

2 3

4 5 -1

Ejemplo de salida

123456789013

5

8

Solución en lenguaje PHP:

<?php

function formulario()
{
//Formulario
echo "<form name='frm' method='post'
action='".$_SERVER["SCRIPT_NAME"]."'>
<textarea name='numeros' rows='10' cols='40' /></textarea>
<br /><input type='submit' name='enviar' value='Enviar' /></form>";
}

function procesa()
{
$contenido=$_POST["numeros"];

$a_total=array();

$a_cont = explode("\n",$contenido);

for($i=0;$i<count($a_cont);$i++)
{
$a_numeros=explode(" ",$a_cont[$i]);
$n=count($a_numeros);
$total=0;
for($j=0;$j<$n;$j++)
{
$total+=$a_numeros[$j];
$todos=$j+1;
if($todos==$n)
{
$a_total[]=$total;
}
}
}

//Resultado
$html="Ejemplo de Salida: <br />";
for($i=0;$i<count($a_total);$i++)
{
$html.=$a_total[$i]."<br />";
}
echo $html;

}

$haydatos=count($_POST);
if(!$haydatos)
formulario();
else
procesa();
?>[/PHP]

Posted

Pues yo también quiero jugar.



Function TextoSMS(Celda As Range) As Variant

L = "1.....ABC2..DEF3..GHI4..JKL5..MNO6..PQRS7.TUV8..WXYZ9. 0...."
For x = 1 To Len(Celda)
c = InStr(L, UCase(Mid(Celda, x, 1)))
n = Int((c - 1) / 6) + 1
v = c Mod 6
If n = 10 Then n = 0
TextoSMS = TextoSMS & String(v, "" & n & "") & " · "
Next

End Function


[/CODE]

Posted

Que mal me esta fallando la pagina y no deja ver el codigo estaba escribiendo otro reto y me lo ponia varias veces y en otras no me lo dejaba subir espero que al rato me deje ver bien la pagina saludos maestro macro antonio bienvenido.

Posted
Una suma difícil

Crea un programa capaz de calcular la suma de los números que se indicarán en la entrada estándar, separados por espacios, y mostrar los resultados en pantalla. Los números pueden ser negativos, grandes y las líneas pueden contener espacios adicionales, por lo que el programa debe ser robusto.

Ejemplo de entrada

123456789012 1

2 3

4 5 -1

Ejemplo de salida

123456789013

5

8

Function SumaConEspacios(Valor As String) As Double
SumaConEspacios = Evaluate(Replace(Valor, " ", "+"))
End Function[/CODE]

Saludos (dos grandes) Macro Antonio y verzulsan

Posted

Uishh casi lo tienes bien Antoni, el código es impresionantemente ingenioso y corto, solo te ha faltado tener en cuenta los espacios, seguramente superarías fácilmente los 10 niveles en http://chevismo.com.

Aquí va otra versión usando solo mates y un circuito lógico, menos líneas, sin función auxiliar y sin usar plantilla de datos, eso sí, mas rebuscado jejeje.

Public Function TextoSMS_vzs(Cadena As String) As String
Dim TempChar As String, actChar As String, Res As Variant, TRes As String, LastNum As Integer
For r = 0 To Len(Cadena) - 1
actChar = Mid(Cadena, r + 1, 1)
TRes = Res
For i = 0 To 7
TempChar = ""
For j = 0 To 2 + CInt(Mid(Application.Dec2Bin(5, 8), (i + 1), 1))
TempChar = TempChar & i + 2
If CInt((i * 3) + j + Int(i / 6)) = CInt(Asc(actChar) - 97) Then
If LastNum <> 0 And LastNum = i + 2 Then Res = Res & " "
LastNum = i + 2
Res = Res & TempChar
End If
Next j
Next i
If TRes = Res Then Res = Res & "0"
Next r
TextoSMS_vzs = Res
End Function[/CODE]

Saludos para ti también tuve y alucard2011

PD: (Antoni, no he conseguido ponerlo como UDF adjunto a una celda, en TextoSMS_vzs = Res, Res tenía el valor correcto pero a la celda llegaba vacía)

Teclado Numerico_v2.xls

Posted

Hola Santi y demás gente de bien:

Uishh casi lo tienes bien Antoni, el código es impresionantemente ingenioso y corto, solo te ha faltado tener en cuenta los espacios

Yo en mi teléfono tengo el espacio en el y el punto en el 1.

Te subo el archivo para que no te "canses",...jeje

- - - - - Mensaje combinado - - - - -

Algo no "pirula" en tu función.

Te adjunto comparativa.

Por cierto no puedo entrar en esa web que me indicas, que por cierto ni idea de lo que es.

De texto a sms.xls

Teclado Numerico_v2.xls

Posted

El enunciado dice que solo entran minúsculas, es por eso que no te coincidían. Lo del espacio me refiero a que el enunciado dice que si presionas mismo numero 2 veces seguidas, hay que dejar un espacio que representa pausa:

3355503666 6444664666022338444777708887777022 277722233555666 662
33555036666444664666022338444777708887777022277722233555666662

2233844477770426620333444566603355503666 6444664666
22338444777704266203334445666033555036666444664666[/CODE]

Ver adjunto

PD: Lo de la página chevismo.com ya es mala suerte, nunca la había visto caída, esta mañana iba, prueba más tarde a ver si te va. Tiene una prueba inicial escondida que si no la pasas no te deja registrarte y luego ya vienen los 10 niveles.

Teclado Numerico_v2_b.xls

Posted

Ya lo he "pillao", ahora van iguales.

Function TextoSMS(Celda As Range) As Variant

L = "1.....ABC2..DEF3..GHI4..JKL5..MNO6..PQRS7.TUV8..WXYZ9. 0...."
For x = 1 To Len(Celda)
c = InStr(L, UCase(Mid(Celda, x, 1)))
n = Int((c - 1) / 6) + 1
v = c Mod 6
If n = 10 Then n = 0
If n = nn Then TextoSMS = TextoSMS & " "
TextoSMS = TextoSMS & String(v, "" & n & "")
nn = n
Next


End Function


[/CODE]

Posted

Saludos a todos que bueno que el primer ejercicio logro el cometido y aparte nos hace ver las diferentes formas de programacion de 2 grandes, muy buena UDF macro antonio.

P.D. a mi tampoco me abrio el enlace, al rato subo otro reto matematico no se porque no me dejaba entrar al foro

Amigo "Tuve" excelente respuesta bienvenido al tema

Saludos

- - - - - Mensaje combinado - - - - -

ahi va otro para serles sincero a este no le entendi nadita jajajajajajajajaja dejo el reto y como en la escuela a aprender de los buenos saludos.

Palíndromo primo

Un entero se dice que es un palíndromo si es igual a su inversa. Por ejemplo, 79.197 y 324.423 son palíndromos. En esta tarea se le dará un entero N, 1 <= N <= 1.000.000. Usted debe encontrar el menor entero M tal que M <= N que es primo y M es un palíndromo N.

Por ejemplo, si N es 31, entonces la respuesta es 101.

Formato de entrada:

Un solo entero N, (1 <= N <= 1.000.000), en una sola línea.

Formato de salida:

Su salida debe consistir en un solo número entero, el más pequeño palíndromo primo mayor que o igual a N.

Ejemplo de entrada:

31

Ejemplo de salida:

101

Posted
Formato de entrada:

Un solo entero N, (1 <= N <= 1.000.000), en una sola línea.

Formato de salida:

Su salida debe consistir en un solo número entero, el más pequeño palíndromo primo mayor que o igual a N.

Ejemplo de entrada:

31

Ejemplo de salida:

101

Una posible solución

Function MenorPrimo(N As Long) As Long
Dim M As Long
Dim EsPrimo As String
M = IIf(N Mod 2 = 0, N + 1, N)

Do
If M = StrReverse(M) Then
EsPrimo = "=SUMPRODUCT(--(MOD(" & M & ",ROW(3:" & Int(Sqr(M)) & "))=0))"
If Evaluate(EsPrimo) = 0 Then
MenorPrimo = M
Exit Do
End If
End If
M = M + 2
Loop

End Function
[/CODE]

Saludos

Posted

Hola tuve, lo primero, tu función es brillante, excesivamente ingeniosa y a la altura de las paranoyas de Macro Antonio, me quito el sombrero.

Me ha tenido atrapado un buen rato para poder entenderla ya que nunca había trabajado de esta manera en VBA con las funciones nativas del Excel usando evaluate, que por cierto es la primera vez que la uso también y es simplemente genial.

Lo que me ha tenido en jaque un rato ha sido el por qué esto me funcionaba:

MsgBox Evaluate("MOD(3,ROW(3:1))")[/CODE]

Y sin embargo esto no

[CODE]MsgBox Evaluate("ROW(3:11)")[/CODE]

Eso sí, en cualquier celda, [b]=FILA(3:11)[/b], sí que funciona.

Terminé de entenderlo en el siguiente enlace donde lo explica bastante bien:

Formula Forensics looks at Is my number a Prime Number? | Chandoo.org - Learn Microsoft Excel Online

Tampoco sabía, como indican en el enlace a chandoo , que la formula Row devuelve una colección de objetos (además del numero de fila) que pensaba que era lo único para lo que servía la función =FILA(), empiezo a pensar seriamente que debería tomar unas clases de Excel.

Ya por último, el iif de una sola línea IIf(N Mod 2 = 0, N + 1, N), nunca antes lo había visto en VBA o al menos hasta hoy no me había fijado, solo lo había usado en javascript y pensé que era exclusivo de otros lenguajes, Expresión = (A ==100) ? true : false;. Con el if de una línea se puede ahorrar mucho en código, muy útil.

Un saludo.

Posted

Muy buena pagina y yo desde el principio me he quedado asombrado en la reduccion de los codigos y al igual aprendiendo ya hasta pensaba que estos retos los estaban aburriendo :nonchalance: .

Saludos al rato subire otro reto si es que mi internet ahora si me deja entrar.

Posted

Buen dia a todos dejo otro reto del mismo concurso Tuenti para que se desaburran este fin de semana saludos a todos

La abuela binaria

Yuki es una chica con suerte. Su abuela Chika es una encantadora anciona, propietaria de una granja de ovejas, experta repostera y ninja de la costura, y tiene un avellanero detrás de casa. Yuki pide avellanas continuamente, pero su sabia abuela no permite que Yuki coma demasiadas para que no caiga enferma.

Chika es aficionada a los números binarios, así que propuso este juego a Yuki: ella diría un número N y Yuki escogería dos números, x e y, tales que x + y = N. Entonces, Chika daría a Yuki tantas avellanas como la cantidad de unos que tengan x e y en base 2. Por ejemplo, si Chika propone 7 y Yuki escoge 3 y 4, recibiría 2 (porque 3 en base 2 es 11) y 1 (porque 4 en base 2 es 100): 3 avellanas.

Yuki quiere saber la máxima cantidad de avellanas que podría obtener de Chika.

Entrada: La primera línea es el número de casos, y a continuación, cada caso en una nueva línea (un número entero, entre 0 y 10^19, que puede no caber en un entero de 32 bits).

Salida: Para cada caso, una línea conteniendo "Caso #x: M", donde x es el número de caso (desde 1) y M es el número máximo de avellanas.

Ejemplo de entrada:

3

1

6

Salida correspondiente:

Caso #1: 1

Caso #2: 4

Caso #3: 14

Les dejo el link del concurso Tuenti

https://contest.tuenti.net/Questions

o si aun quieren los sigo subiendo traducidos saludos

Posted

Hola Alucard2011, te falta el caso 3 en el enunciado

3 = Número de casos de entrada

1 : Caso 1

6 : Caso 2

2135 : Caso 3

Para obtener la mayor cantidad de unos' date=' uno de los sumandos debe tener la mayor cantidad de bits posibles y todos a 1 (he llegado a esta conclusion por el cuento de la vieja, y no me refiero al cuento de Chika xD), el otro sumando tan solo ha de restar este número con el [b']N[/b]úmero Inicial (NI). La mayor cantidad de bits posibles es la mayor potencia de los números naturales a la que se puede elevar 2 sin que sobrepase el (NI) y esto se obtiene sacando la parte entera del logaritmo en base dos de (NI).

Para numeros menores de 1022

Public Function MaxAvellanas_1022(Num As Integer) As Integer
Dim sum1 As Long, sum2 As Long, Cadena As String
sum1 = (2 ^ (Int(Log(Num) / Log(2)))) - 1
sum2 = Num - sum1
Cadena = Application.Dec2Bin(sum1, 10) & Application.Dec2Bin(sum2, 10)
MaxAvellanas_1022 = Len(Replace(Cadena, "0", "", , , vbTextCompare))
End Function[/CODE]

Para números mayores que 1022, he usado una función conversor dec2bin extraída de esta web

[CODE]Function d2b(numero As Long) As String
While numero >= 2
d2b = CStr(numero Mod 2) & d2b
numero = numero \ 2
Wend
d2b = CStr(numero Mod 2) & d2b
End Function[/CODE]

[CODE]Public Function MaxAvellanas(Num As Long) As Integer
Dim sum1 As Long, sum2 As Long, Cadena As String
sum1 = (2 ^ (Int(Log(Num) / Log(2)))) - 1
sum2 = Num - sum1
Cadena = d2b(sum1) & d2b(sum2)
MaxAvellanas = Len(Replace(Cadena, "0", "", , , vbTextCompare))
End Function[/CODE]

Saludos.

Posted

Bien hecho verzulsan, iba por el mismo camino pero no tenía clara la respuesta por el ejemplo que trae el planteamiento inicial.

Posted

Verzulan antes que nada que buena explicacion nos acabas de regalar, la otra perdon al pasar la traduccion yo pense que habia apretado esos numeros sin querer al revisar como excusa tengo al pequeño beltmon cazando vampiros en el patio :witless:, jajajaja ya hablando en serio que grandes paginas nos has regalado y yo la verdad estoy aprendiendo bastante ya vieron que los codigos que anexe en los primeros retos casi eran un libro comparado con sus codigos que la verdad tienen una reduccion memorable, mañana subo otro reto ya que mis vecinos vampiros quieren dar una vuelta.

Saludos.

P.D. Maestro Macro tambien seria bueno si nos regalas un reto como los de antaño, quiero descargar mi furia al no poder resolverlo con la gente de transilvania jajajaja :snowman:

Posted

Hola "pipol":

No solo no lo he conseguido con una línea si no que además la he hecho mas larga.

Si he entendido lo que hay que hacer, en ocasiones hay mas de una solución válida, por ejemplo el Nº 7.

Mi macro las muestra todas,....:ghost::ghost::ghost::joyous:

Sub Calcular()

Sumandos 7 'Número de la abuela

End Sub
[/CODE]

[CODE]
Private Sub Sumandos(N As Integer)

For x = 1 To Int(N / 2)
Range("A" & x) = UBound(Split(Application.Dec2Bin(x), 1)) + _
UBound(Split(Application.Dec2Bin(N - x), 1))
Range("B" & x) = x
Range("C" & x) = N - x
Next

Range("A1:C" & x - 1).Sort Key1:=Columns(1), Order1:=xlDescending

Range("A1").Select
Do Until ActiveCell <> Range("A1")
Parejas = Parejas & ", " & ActiveCell.Offset(0, 1) & " y " & ActiveCell.Offset(0, 2)
ActiveCell.Offset(1, 0).Select
Loop

MsgBox Mid(Parejas, 3)
Cells.Clear

End Sub
[/CODE]

Santi, compara resultados con tu primera propuesta porqué creo que no dan lo mismo.

Posted

Funciona correctamente, :encouragement:

la diferencia es que el mío dice el número de unos totales que tienen ambos números en binario y el tuyo dice que números dan ese total de unos. No he mirado en profundidad las paranoias que haces ordenando y recolocando pero pillo la idea, muy buena.

Archived

This topic is now archived and is closed to further replies.

  • 108 ¿Te parecen útiles los tips de las funciones? (ver tema completo)

    1. 1. ¿Te parecen útiles los tips de las funciones?


      • No
      • Ni me he fijado en ellos

  • Ayúdanos a mejorar la comunidad

    • Donaciones recibidas este mes: 0.00 EUR
      Objetivo: 130.00 EUR
  • Files

  • Download Statistics

    • Files
      184
    • Comments
      96
    • Reviews
      28

    More information about "Un juego solitario en Excel"
    Latest File
    By pegones1

    4    0

  • Crear macros Excel

  • Posts

    • Hola. Tu archivo no tiene macros. Sobre las celdas combinadas, ya que no puedes evitar su uso al no ser tus archivos, lo mejor es "des combinarlas" previo a cualquier cosa, incluso en tu misma macro (que no envías). 
    • Hola buenas tardes tengo un archivo en excel que copia varias tablas y las importa a word de manera automatica. Este selecciona las tablas en base a las filas con datos de mi columna C. pueden ser  diferentes rango de tablas. (Pero siempre mi rango es de celdas continuas y con valores continuas) Funciona muy bien. El problema que ahora tengo es que muchos archivos con tablas  tienen las celdas combinadas ya sea horizontalmento o vertical. Aqui es donde empieza mi problema ya que son formatos de origen no puedo modificarlas. Quisiera ajustar mi macro en la parte de seleccion de rango de tablas y que pueda considerar la celdas combinadas y pegarlos en word sin problema. Ya que actualmente no me pone algunas tablas o rangos, o me repite las tablas y no considera las demas. Todo esto a que en algunas no hay valores o las celdas estan combinadas.   Muchas gracias Seleccion automatica de celdas combis.xlsx
    • por si te sirve: la primera matriz (pivotarpor) al inicio los que no tienen profesor asignado (orden ascendente por omision) la segunda (2 matrices y solo unicos) en el orden de aparicion (no asignados al final) la tercera (2 matrices) omite los no asignados (tambien por orden de aparicion) unicos y suma (ayudaExcel).xlsx
    • No se si este tema va aquí, si no es así, pido disculpas. Llevo varios días dando vueltas a un fallo que me sale al exportar una tabla a xml y que no consigo resolver. El fallo que me da es que no las asignaciones no son exportables y al comprobar la asignación me dice datos no normalizados.     Libro1.xlsx
    • Buenas tardes estimado JSDJSD, muchas gracias por responder. En efecto esta parte quedo perfecta. Pero me falto indicar que la macro se ejecute dependiendo de la celda L1 ( Caliza o Mezcla). Entonces si dice Caliza aplica la macro que me enviaste, pero si dice Mezcla que haga lo siguiente: Busque el  ultimo dato de la columna K de la hoja Mezcla Adición del libro Base de datos Cementos producido 2024, con la condición de que la columna B debe ser igual a 4 y el dato lo coloque en la celda N1 de la hoja Cemento del libro Cemento. Te comento que el libro Prehomo y Base de datos Cementos producidos 2024 están en carpetas diferentes ya que estos los maneja otra área, como se enmendaría este caso por el comentarios que me enviaste de la ruta. Saludos y un fuerte abrazo   Cemento-2.xlsm
  • Recently Browsing

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

Privacy Policy