Pessoal, seguinte:
BDProjetos2: Minha Aba atual (Nome real da planilha)
BDProjetos1: Segunda Aba (Nome real da planilha)
Quero transpor um intervalo do BD1 para o BD2. Mas o intervalo é variável.
Em BDProjetos2, já com o intervalo selecionado no tamanho exato, eis a fórmula que funciona:
Excel: =TRANSPOR(BDProjetos1!$F$1:$H$20)
VBA: Selection.FormulaArray = "=TRANSPOSE(BDProjetos1!R1C6:R20C8)" **Meu código coloca a fórmula no intervalo já selecionado.
Porém, esse intervalo que vai na fórmula, $F$1:$H$20, é variável. Para auxiliar, tenho alguns dados na coluna B:
B1 = 1 Linha de $F$1
B2 = 6 Coluna de $F$1
B3 = $F$1 Endereço(B1;B2)
B4 = 20 Linha de $H$20
B5 = 8 Coluna de $H$20
B6 = $H$20 Endereço(B4:B5)
B7 = R1C6 ="R"&B1&"C"&B2 *Tentei colocar B7 na fórmula em vba
B8 = R20C8 ="R"&B4&"C"&B5 *Tentei colocar B8 na fórmula em vba
NO VBA:
Dim InicioRange As String
Dim FimRange As String
InicioRange = Range("B7").Value
FimRange = Range("B8").Value
'**Aqui começei a tentar de tudo, sem sucesso. Lembrando que B7 = "R1C6" e B8 = "R20C8"
'Selection.FormulaArray = "=TRANSPOSE(BDProjetos1 & InicioRange & ":" & FimRange)"
'Selection.FormulaArray = "=TRANSPOSE(BDProjetos1! & InicioRange & ":" & FimRange)"
'Selection.FormulaArray = "=TRANSPOSE(BDProjetos1 & "!" & InicioRange & ":" & FimRange)"
'Selection.FormulaArray = "=TRANSPOSE(BDProjetos1!R1C6: & FimRange)"
'Selection.FormulaArray = "=TRANSPOSE(BDProjetos1!R1C6 & ":" & FimRange)"
'Selection.FormulaArray = "=TRANSPOSE(BDProjetos1!R1C6: & FimRange & ")""
'Selection.FormulaArray = "=TRANSPOSE(BDProjetos1!R1C6 & ":" & FimRange & ")""
Está claro que meu raciocínio está errado. Como faço o código colocar a fórmula certa para transpor, com intervalo variável baseado nos dados da minha coluna B?
Desde já, obrigado.
Postado : 28/03/2021 1:26 pm