VBA para copiar colar do nome do arquivo e da folha, conforme fornecido no excel cell

0

Estou usando o seguinte código VBA para copiar dados de uma planilha de Excel fechada. o nome da folha muda conforme a data. então eu atribuo o caminho e o nome do arquivo da célula do Excel B1 . Agora estou preso em um só lugar. Quero atribuir o nome da folha de trabalho fornecido em outra célula B2 .

Sub GetDataClosedBook()

Dim scr As Workbook
Dim FromPath1 As String


'location of the file and data to copy'

Application.ScreenUpdating = False

FromPath1 = Sheets("Status").Range("B1")

Set scr = Workbooks.Open(FromPath1)

ThisWorkbook.Activate

Worksheets("Today_BC").Range("B1:P40000").Formula = scr.Worksheets("12SEP2018").Range("A1:O40000").Formula
Workbooks(2).Close

Application.ScreenUpdating = True
ActiveWorkbook.Save 

End Sub

Agora, o ("12Sep2018") continua mudando, estou fazendo manualmente agora, mas quero atribuir a partir da célula na planilha. Como posso fazer isso?

    
por Jaldeep Vaishnav 17.09.2018 / 11:53

1 resposta

0

I want to assign the work sheet name given in another cell B2

Nesse caso, você deve substituir o literal da string do nome da planilha "12SEP2018" pelo valor de uma célula onde o nome da planilha que você precisa está armazenado. ou seja,

Worksheets("Today_BC").Range("B1:P40000").Formula = _
     scr.Worksheets("12SEP2018").Range("A1:O40000").Formula

deve ser substituído por

Worksheets("Today_BC").Range("B1:P40000").Formula = _
     scr.Worksheets(Sheets("Status").Range("B2").Value).Range("A1:O40000").Formula

Ou armazene o nome da planilha de destino em uma variável:

StoreTo = Sheets("Status").Range("B2").Value
Worksheets("Today_BC").Range("B1:P40000").Formula = _
     scr.Worksheets(StoreTo).Range("A1:O40000").Formula
    
por 20.09.2018 / 10:34

Tags