Excel - Duda sobre concatenacion

 
Vista:

Duda sobre concatenacion

Publicado por FoxTerrier (5 intervenciones) el 17/12/2013 16:37:22
Buenas tardes,

Estoy teniendo varios problemas con un asunto que paso a explicarles:

Verán, yo tengo una hoja con nombres, escritos uno en cada celda, y van bajando por filas, tipo:

Celda(1,1) Pepe
Celda(2,1) Pepa
..

Hago que me compruebe lo escrito hasta que esté vacio, tipo así:

While Cells(1,1).Value <> ""
Palabra= Cells(contar, 1).Value
Contar=contar+1
MsgBox(Palabra)
Wend

Vale, así compruebo que me reconoce todas las palabras.

El caso es que después tengo otra hoja, con estas mismas palabras pero están distribuidas en cada celda una letra (tipo crucigrama).

ejemplo:

Celda(1,2) P Celda(1,3)E Celda(1,4)P Celda(1,5)E

Yo lo que desearia , es poder comparar mi variable Palabra con la misma palabra escrita de esta forma, necesitaria hacer que me reconociera la composicion.. para poder luego comprobar si es correcta.

Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Duda sobre concatenacion

Publicado por FoxTerrier (5 intervenciones) el 17/12/2013 20:27:56
Puede que me esté haciendo un lio, pero he probado esto,

1
2
3
4
5
6
7
8
9
Sub m()
Comprobacion = Worksheets("Hojan").Range("A1").Value       'Aqui leeria la palabra que tengo en 1 celda.
MsgBox (Comprobacion)                        'Ok me la lee correctamente
Paraula1 = Len(Comprobacio)              'Aqui le digo que me devuelva el numero de caracteres 
MsgBox (Paraula1)                                    'Y efectivamente me da el nº correcto
For i=0 to Paraula1
Paraula = UCase(Paraula) & Worksheets("Hojan").Cells(1, 1 +i).Value
MsgBox (Paraula) ' Aqui me junta la misma palabra varias veces a la que repito el macro, y no lo entiendo..
End Sub

O sea el problema que tengo es en el bucle For, que segun lo que creo me deberia hacer en este caso, si el len me devuelve 4, pues desde i=0 hasta 4. Pero parece como que me va acumulando este valor, y al final me da la misma palabra repetida muchas veces..

Hay alguna manera de hacer que no acumule esto?, u otra manera?

Gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Duda sobre concatenacion

Publicado por Juan José (494 intervenciones) el 18/12/2013 09:04:23
Muy buenas.

Si te he entendido, la siguiente macro te podría servir:
Sub m()
fila = Sheets("Hoja1").Range("A1").End(xlDown).Row
For l = 1 To fila
comprobacion = Worksheets("Hoja1").Cells(l, 1).Value 'Aqui leeria la palabra que tengo en 1 celda.
Paraula1 = Len(comprobacion) 'Aqui le digo que me devuelva el numero de caracteres
PARAULA = ""
For i = 1 To Paraula1
PARAULA = PARAULA & Worksheets("Hoja2").Cells(l, 1 + i).Value
Next
PARAULA = Application.WorksheetFunction.Proper(PARAULA)
If comprobacion = PARAULA Then
MsgBox ("la palabra " & comprobacion & " es correcta")
Else
MsgBox ("la palabra " & comprobacion & " no coincide con " & PARAULA)
End If
Next
End Sub

Te adjunto el fichero que recoge esa macro.

Un saludo. Juanjo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Duda sobre concatenacion

Publicado por FoxTerrier (5 intervenciones) el 18/12/2013 15:40:37
Gracias, aunque me sigue dando el mismo problema.

En su caso sale perfecto, ya que las palabras que están en la hoja 2, van bajando por filas consecutivamente, pero en mi caso , donde se encuentran esas palabras, están dispersas.

Por ejemplo, la primera palabra, está desde la celda(11,7) hasta la (11,11)
La segunda esta en la celda (13,5) hasta la (13,9)..

Entonces lo que me hace es que la primera la coje bien, pero el resto, comienza a cojerme otras letras..
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Duda sobre concatenacion

Publicado por Juan José (494 intervenciones) el 18/12/2013 16:23:29
Muy buenas.

Si la información de donde empiezan las palabras está puesta en algún sitio, se podría reformar la macro. Si no está puesta en ningún, solo se puede hacer que la macro te pregunte la ubicación de la solución.

Un saludo. Juanjo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Duda sobre concatenacion

Publicado por FoxTerrier (5 intervenciones) el 18/12/2013 16:53:48
Exacto, la situacion de las palabras que debe comprobar estan ubicadas en distintos lugares, tanto horizontal como vertical (es un crucigrama).
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar