Excel - Hoja variable dentro de un rango

 
Vista:
sin imagen de perfil

Hoja variable dentro de un rango

Publicado por Francisco (7 intervenciones) el 10/12/2021 18:32:26
Necesito hacer una macro que llame a los datos de otra hoja, pero que esta pueda variar. Se me ocurrió llamar asignar la hoja que quiero llamar a una variable y tendría que preocuparme solo del nombre que le voy a poner. Por ejemplo, si estoy en la hoja "Ventas" la hoja de donde quiero sacar los datos la tendría que llamar "Ventasa". ¿Cómo se pondría la variable dentro de una formula para usarlo como rango? Hasta el momento tengo este código pero no se como llamarla la variable correctamente. ¿O existe una manera mas fácil de hacer esto?

Sub Macro7()
'rellenado para ver el grafico de ventas
Dim c As String
c = ActiveSheet.Name + "a"
Range("B2").FormulaR1C1 = "=SUMIF(c&!C,RC[-1],c&!C[3])"
Range("B2").Select
Selection.AutoFill Destination:=Range("B2:B733")

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
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Hoja variable dentro de un rango

Publicado por Antoni Masana (2481 intervenciones) el 10/12/2021 20:00:14
Creo que es esto lo que buscas

1
2
3
4
5
6
7
8
Sub Macro7()
    'rellenado para ver el grafico de ventas
    Dim c As String
    c = ActiveSheet.Name + "a"
    Range("B2").FormulaR1C1 = "=SUMIF('" & c & "'!C,RC[-1],c&!C[3])"
    Range("B2").Select
    Selection.AutoFill Destination:=Range("B2:B733")
End Sub


Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
sin imagen de perfil

Hoja variable dentro de un rango

Publicado por Francisco (7 intervenciones) el 10/12/2021 20:39:10
Eso es lo que necesitaba, muchas gracias!! ¿Me puedes ayudar tambien con esta parte? Sigue la misma logica peron entiendo como sustituir las posiciones y rangos.
Sub stock()
'rellenado para ver el grafico de stock
Dim c As String
c = ActiveSheet.Name + "a"
Range("F2").FormulaR1C1 = "=IFERROR(VLOOKUP(RC[-5],'" & c & "'!C[-3]:C,4,FALSE),'" & c & "'R[1]C)"
Range("F2").Select
Selection.AutoFill Destination:=Range("F2:F733")
End Sub

Asi se veria la celda en excel: F2=SI.ERROR(BUSCARV(A2;ANSPDMa!C:F;4;FALSO);ANSPDM!F3)
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