Visual Basic para Aplicaciones - Al ejecutar una macro en excel se me queda colgado

Life is soft - evento anual de software empresarial
 
Vista:

Al ejecutar una macro en excel se me queda colgado

Publicado por Alex (6 intervenciones) el 24/05/2006 12:36:31
Hola, pues el caso es que he creado un programilla que traduzca las celdas de una hoja que estan en ingles a español comparandolas con las de otra hoja que tine celdas en ingles con su correspondiente traduccion al español.
El caso es que si ejecuto el p`rogrma metiendo una hoja con pocas celdas a traducir, no me da ningun problema pero si le pongo 8000 filas que son las que tengo que traducir, se me keda colgao. Que puedo hacer? Os dejo el codigo del programilla pra que le echeis un vistazo

Sub Macro1()
'
' Macro1 Macro
'
'
' Acceso directo: CTRL+e

Dim lngUltimaFilahoja1, lngultimafilahoja2 As Long
Dim strObjetoBuscar, tradu As String
Dim lngResultado As Long
Dim lngColumna, lngFila, ultimacolumna, ultimacolumnahoja2 As Long
Dim lngPegarColumna, lngPegarFila As Long
Dim x, n, j, k As Integer
Dim rng As Range

'columna + fila donde empezar/terminar búsqueda
lngColumnahoja1 = 1
lngFilahoja1 = 1
lngColumnahoja2 = 1
lngFilahoja2 = 1

lngUltimaFilahoja1 = Columns(lngColumnahoja1).Range("A65536").End(xlUp).Row
Worksheets("hoja2").Activate
lngultimafilahoja2 = ActiveSheet.UsedRange.Row - 1 + ActiveSheet.UsedRange.Rows.Count
Dim intUltimaCol As Integer
If WorksheetFunction.CountA(Cells) > 0 Then

intUltimaCol = Cells.Find(What:="*", After:=[A1], SearchOrder:=xlByColumns, SearchDirection:=xlPrevious).Column

MsgBox intUltimaCol
End If

'columna + fila donde empezar a pegar resultados

lngPegarColumna = 1
lngPegarFila = 1

'bucle: realizar búsqueda
For k = 1 To intUltimaCol
For j = lngFilahoja2 To lngultimafilahoja2
Worksheets("hoja2").Activate

strObjetoBuscar = Cells(j, k).Text
strObjetoBuscar = LCase(strObjetoBuscar) 'minúsculas
Worksheets("hoja1").Activate

For n = lngFilahoja1 To lngUltimaFilahoja1
Worksheets("hoja1").Activate

If Cells(n, 1) = strObjetoBuscar Then
tradu = Cells(n, 2)
Worksheets("hoja2").Activate
Cells(j, k) = tradu

End If
Next n
Next j
Next k

End Sub
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

RE:Al ejecutar una macro en excel se me queda colg

Publicado por JuanC (243 intervenciones) el 25/05/2006 20:04:54
Proba optimizando el codigo....
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