Macro copiar fórmulas de distintas hojas

Muy buenas. Gracias a vuestra ayuda estoy avanzando mucho. Vuelvo a estar bloqueado. Me dirijo a ti, para ver si me puedes ayudar. Pego la macro que estoy haciendo y explico donde no sé seguir.
En la segunda parte de la macro intento copiar la celda B3 un numero determinado de veces, que se establece en la celda A1. La celda B3 tiene una fórmula referenciada sobre la hoja CM1. Lo que intento es que cambie la fórmula para i=2 con la hoja CM2, con la i=3 con la hoja CM3 y así hasta cumplir con la condición establecida en A1.
Sub Sumarsi()'' Sumarsi Macro' 
'    
nro = ActiveSheet.Range("A1")    
For i = 1 To nro    
Range("B2").Copy    
Range("B2").End(xlUp).Offset(1, i).Select    
ActiveSheet.Paste    
Application.CutCopyMode = False    
Cells(2, i + 2) = "CM " & (i + 1) 
Next       
nro = ActiveSheet.Range("A1")    
For j = 1 To nro    
Range("B3").Copy    
Range("B3").End(xlUp).Offset(1, i).Select    
ActiveSheet.Paste    
Application.CutCopyMode = False    
'Selection.AutoFill Destination:=Range("B3:C3"), Type:=xlFillDefault 
Range("B3:C3").Select    
Range("C3").Select   
ActiveCell.FormulaR1C1 = "=SUMIF('CM2'!C6:C7,RC1,'CM2'!C7)"  
'esta parte es la que no se hacer ya que 'CM j+1 no me lo da por bueno.  
Next 
Espero haber sido lo bastante claro. No se explicarme bien en este lenguaje.

1 respuesta

Respuesta
1
Para construir el string e incluirlo en la fórmula debes hacer algo como:
"CM" & j+1
El operador "&" concatena strings y la conversiond de números a strings es automática al menos en números enteros.
En tu caso sería algo como:
ActiveCell.FormulaR1C1 = "=SUMIF('CM" & j+1 & " '!C6:C7,RC1,'CM2'!C7)"

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas