Ayuda con el código VBA, ¿recorrer la misma combinación de letras?
El siguiente es el código VBA modificado para iterar sobre combinaciones de letras con al menos tres letras en común en la lista de 1830 palabras y generar las mismas partes:
Sub FindCommonLetterCombinations()
Sub FindCommonLetterCombinations()
p>'Definir variables
Atenuar palabras() como cadena
Atenuar i, j, k, l, m como entero
Atenuar letras comunes como String
'Leer lista de palabras
palabras = Split("manzana,plátano,pera,naranja,uva,piña,kiwi,fresa,melón,papaya,durian,melocotón, limón, lima, cereza, arándano, frambuesa, mango, sandía, aguacate, albaricoque, higo, guayaba", ",")
'Recorre la lista de palabras
For i = 0 To UBound (palabras)
Para j = i + 1 Para UBound(palabras)
'Encuentra la misma combinación de letras
Para k = 1 Para Len(palabras ( i))
Para l = 1 To Len(palabras(j))
Si Mid(palabras(i), k, 3) = Mid(palabras(j), l , 3) Y Len(palabras(i)) >= k + 2 Y Len(palabras(j)) >= l + 2 Entonces
Para m = 4 Para Len(palabras(i)) - (k - 1)
Si Mid(palabras(i), k + m - 1, 1) <> Mid(palabras(j), l + m - 1, 1) Entonces
Salir por
Else
Si m >= 3 Entonces
letras comunes = Mid(palabras(i), k, m)
Depurar.Imprimir "Palabras" & palabras(i) & " y " & palabras(j) & " ***compartir combinaciones de letras: " & letras comunes
Finalizar si
Finalizar si
Siguiente m
Finalizar si
Siguiente l
Siguiente k
Siguiente j
Siguiente k
Siguiente j< / p>
Siguiente i
End Sub
Este código generará todas las combinaciones de letras que tengan al menos tres letras en común, junto con las dos palabras a las que pertenecen. Para evitar generar la misma combinación de letras repetidamente, el código solo genera la primera vez que se encuentra e ignora las repeticiones posteriores.
Es importante tener en cuenta que debido a las muchas combinaciones posibles a considerar, el tiempo de ejecución del código puede ser mayor, especialmente cuando la lista de palabras es grande. Si necesita procesar conjuntos de datos más grandes o mejorar la eficiencia del código, considere utilizar otros algoritmos o herramientas para la optimización.