Macro excel 2 variables

Al ejecutar la siguiente macro la variable" for a" funciona perfectament pero quiero que al terminar la primer vuelta, la fórmula tome el siguiente valor del "for iii" y así sucesivamente. Cosa que no hace :S, je je espero me puedas comprender. Por tu atención Gracias :)
Sub Shadow()
Application.ScreenUpdating = False
For a = 3 To 8
For iii = 4 To 9
Cells(a, 1).FormulaR1C1 = "=ADDRESS(MATCH(R3C2,Koncentrado!R2C2:R13C2,0)+2," & iii & ")"
i = Cells(a, 1)
ii = a
Sheets("Koncentrado").Select
Range(i).Copy
Sheets("Estado de kuenta").Select
Cells(ii, 1).Select
Selection.PasteSpecial Paste:=xlPasteAllExceptBorders, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Next iii, a
End Sub

1 respuesta

Respuesta
1
Me gustaría que me explicaras de una forma más detalla que es lo que pretendes realizar con la macro y así poder dar una respuesta más acertada, por lo que puede observar en la macro estas utilizando de una forma no adecuada la sentencia FOR.
Gracias por tu pronto respuesta,
Tengo la siguiente lista en la HOJA 1 (Concentrado) de Excel:
                   A B C D E F G H I
               R.F.C.:                      CLAVE                AÑO     A    B     C      D     E     F
1 AUFM630726RLA 2006AUFM630726RLA 2006 1 7 13 19 25 31
2 AUFM630726RLA 2007AUFM630726RLA 2007 2 8 14 20 26 32
3 AUFM630726RLA 2008AUFM630726RLA 2008 3 9 15 21 27 33
4 AUFM630726RLA 2009AUFM630726RLA 2009 4 10 16 22 28 34
5 AUFM630726RLA 2010AUFM630726RLA 2010 5 11 17 23 29 35
6 AUFM630726RLA 2011AUFM630726RLA 2011 6 12 18 24 30 36
7 RUBP391030P71 2006RUBP391030P71 2006 7 13 19 25 31 37
8 RUBP391030P72 2007RUBP391030P72 2007 8 14 20 26 32 38
9 RUBP391030P73 2008RUBP391030P73 2008 9 15 21 27 33 39
10 RUBP391030P74 2009RUBP391030P74 2009 10 16 22 28 34 40
11 RUBP391030P75 2010RUBP391030P75 2010 11 17 23 29 35 41
12 RUBP391030P76 2011RUBP391030P76 2011 12 18 24 30 36 42
Cada una de las celdas con número, de "A 2006" "1", a "F 2011" "42", contiene un hipervínculo y también un comentario, en total tengo 72 celdas con sus respectivos comentarios y vinkulos, realmente son muchos más registros, solo t pongo un ejemplo.
En la HOJA 2 de Excel (Estado de kuenta), en la celda B1 tengo un Kontrol de número (control de formulario), vinkulado a la celda A1, kon dicho control especifiko el valor de la celda A1 (Año del 2006 al 2011), en la Celda C1 tengo el Dato: R.F.C.: el kual es variable y es un dato que aparece en la lista de la HOJA 1 (Koncentrado), en la Celda "B3" tengo la siguiente formula:  =CONCATENAR(A1,C1). En cada celda del Rango A3:A9 tengo la siguiente formula:
Formula:  =DIRECCION(COINCIDIR($B$3,Koncentrado! $B$2:$B$13,0)+1,9) lo uniko k kambia es el indikador de kolumna, que en "A3" es "9", A4" es "8" hasta llegar a "A9" kon "4", Todo hasta hay esta perfecto, me devulebe el valor de las kolumnas
k especifike pero: No solo kiero k me devuelva el Valor de la Celda, si es posible, kiero k me presente la celda tal y komo esta en la otra hoja, kon sus respectivos Vinkulos y komentarios. Y Frankament no c si eso sea posible como tal, así que lo único que c me okurrio fue kreear una macro que kumpliendo con la fórmula =DIRECCIÓN(CONCIDIR... de la que hice mención arriba, kopie dicho valor en función a la fórmula de cada celda y lo pegue. Si gustas puedo enviart mi archivo x correo electroniko para que lo veas, sabes la macro funciona bien si la tengo así:
Sub Shadow()
Application.ScreenUpdating = False
For a = 3 To 8
Cells(a, 1).FormulaR1C1 = "=ADDRESS(MATCH(R3C2,Koncentrado!R2C2:R13C2,0)+2," & a & ")"
i = Cells(a, 1)
ii = a
Sheets("Koncentrado").Select
Range(i).Copy
Sheets("Estado de kuenta").Select
Cells(ii, 1).Select
Selection.PasteSpecial Paste:=xlPasteAllExceptBorders, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Next a
End Sub
desaparesko el 2do. for, y modifiko La Hoja 1 (koncentrado), pero komo t dig es un ejemplo y la forma k io busko c adaptaria mejor a mis necesidades.
Hay algo adicional, k me interesa, kuando estas kondiciones c kumplan, kuando me muestre los datos en la Hoja 2 (Estado de kuenta) posiblement llegue a kambiar los datos de los komentarios, y k dichos kambios  c reflejen en la Hoja 1 (koncentrado), kisas agregando un boton k me haga esto, x kuanto t sirvas hacer x mi, muchas gracias, estoy a tus ordenes x kualkier kosa.
Perdón por la tardanza pero he tenido un problema con el internet en el trabajo y he estado algo ocupado, creo saber que es lo que quieres hacer intenta esto:
Sub Shadow()
On Error GoTo ErrMacro
Application.ScreenUpdating = False
For a = 3 To 8
Cells(a, 1).FormulaR1C1 = "=ADDRESS(MATCH(R3C2,Koncentrado!R2C2:R13C2,0)+1," & 12 - a & ")"
i = Cells(a, 1)
ii = a
Sheets("Koncentrado").Select
Range(i).Copy
Sheets("Estado de kuenta").Select
Cells(ii, 1).Select
Selection.PasteSpecial Paste:=xlPasteAllExceptBorders, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Application.CutCopyMode = False
Next a
Exit_ErrMacro:
    Exit Sub
ErrMacro:
    MsgBox "Dato no encontrado", vbCritical
    Sheets("Estado de kuenta").Select
    Resume Exit_ErrMacro
End Sub
Si no funciona mandame el libro a [email protected]
Muchísimas gracias, me a funcionado a la perfección, por tu tiempo y atención, nuevamente gracias, luego t estaré molestando de nuevo je je, chao

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas