Problema con macro

31/03/2006 - 01:44 por Mk | Informe spam
Hola a todos!

Vuelvo a escribir por estos lares... Estoy haciendo una macro y tengo un
pequeño problema, os cuento.

La macro abre un fichero y le añade una fórmula (tipo buscarv en la
celda U2, vinculado a otro fichero distinto). La columna siempre será U
pero el problema es que las filas de esa matriz varían y no se como
decirle que "complete" esa fórmula para toda la columna.

Espero haberme explicado. Lo he intentado con Autofill pero no he sido
capaz.

¿Alguna idea?.

Muchas gracias.

Marco


-Copio y pego el codigo para ser mas claro -ç

Sub Sumar_MV1()

Workbooks.Open Filename:="F:\EXCELL\5024.xls"
Sheets("ID_5024_01").Select

Selection.AutoFilter
Range("U2").Select

Workbooks.Open Filename:="F:\EXCELL\AL010.xls"
Sheets("Data").Select

Windows("5024.xls").Activate
Sheets("ID_5024_01").Select

ActiveCell.FormulaR1C1 = "=VLOOKUP(RC[-15],[AL010.xls]Data!C2:C6,5,0)"
Selection.AutoFill Destination:=Range("U2:U11000")

Range("A2").Select

Rem ActiveCell.CurrentRegion.Select

End Sub



NOTA: Como se puede ver le he dado un rango u2:u11000 pero realmente es
una chapuza.

Preguntas similare

Leer las respuestas

#6 Héctor Miguel
03/04/2006 - 06:12 | Informe spam
hola, Marco !

He probado con el codigo que me sugeriste y no me funciona, cuando ejecuto la macro el pc se me queda colgado
creo que es problema de que la matriz que estoy trabajando es demasiado grande.
Tengo que darle vueltas... he buscado alternativas... y encontre una forma muy util de solucionar mi duda [...]



1) de tu consulta anterior, hay una 'partecilla' que no me fue posible 'adivinar' cual pudier ser su 'condicion real' :((
la parte donde dices: -> '... eliminar... las filas que tengan un valor determinado en una columna (U)... '
es decir, no me fue posible acertar cual seria el -> 'valor determinado' que mencionas :))

2) con las bases [+/- 'ciertas'] de tu consulta anterior, el codigo propuesto aplica autofiltros a la columna 'U'...
-> usando un 'criterio' para el filtro que es una suposicion, y por lo mismo, debieras 'adaptarla' a tu condicion 'real' ;)
la parte de codigo donde dice: -> Columns("u:u").AutoFilter Field:=1, Criteria1:="pon aqui el criterio"
-> es necesario que tu 'pongas/adaptes' cual es TU criterio 'real, sustituyendo > "pon aqui el criterio" :))

3) el codigo que encontraste 'hace' +/- lo mismo que el sugerido... solo que aplicado al rango 'A1:A100'
y aplicando como criterios para el filtrado, lo que establezcas en la matriz 'myArray' [es decir]...
esta filtrando el ranto 'A1:A100' 3 veces: "A", "B" y "C"

comentas 'que pasa' si adaptas uno u otro codigo con tus criterios de filtrado 'reales' ?
y si cualquier duda [o informacion adicional]... comentas ?
saludos,
hector.

__ el codigo 'encontrado' __
Sub Delete_with_Autofilter_Array()
Dim Rng As Range
Dim I As Long
Dim myArr As Variant
myArr = Array("A", "B", "C")
For I = LBound(myArr) To UBound(myArr)
ActiveSheet.Range("A1:A100").AutoFilter Field:=1, Criteria1:=myArr(I)
With ActiveSheet.AutoFilter.Range
Set rng = Nothing
On Error Resume Next
Set Rng = .Offset(1, 0).Resize(.Rows.Count - 1, 1) _
.SpecialCells(xlCellTypeVisible)
On Error GoTo 0
If Not Rng Is Nothing Then Rng.EntireRow.Delete
End With
Next I
ActiveSheet.AutoFilterMode = False
End Sub
Seguire dando la paliza por estas news, la verdad es que es increible lo que se aprende..
email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida