Como obtenho o Excel para extrair dados de várias pastas de trabalho de datas exatas com base em uma data inserida

0

Estou executando o windows-7 e usando o Excel 2007 Enterprise.

Eu sou um motorista de caminhão e preciso catalogar meu pagamento com base em um sistema que muda diariamente. Eu sou pago por milha, por parada, por hora ou por taxa fixa, dependendo do tipo de rota.

Eu criei uma pasta de trabalho que usa =IF() fórmulas para determinar qual escala de pagamento usar e calcula quanto devo receber automaticamente. Como resultado, cada pasta de trabalho tem 4 folhas, 1 folha por viagem, pois mais de 4 é tão raro que só pode acontecer uma vez por ano.

A folha 1 puxa os dados das planilhas 2, 3 e 4 automaticamente e preenche as células corretas e, em seguida, recalcula meu pagamento, dependendo de quais dados são inseridos.

Agora que tenho uma pasta de trabalho para cada dia, como não posso combinar dias por várias razões que não valem a pena explicar aqui, devo ter um total para cada semana para comparar meus ganhos brutos. Eu tenho outra pasta de trabalho apenas por esse motivo, no entanto, não consigo obter meu pagamento semanal para extrair dados de minhas folhas de pagamento diárias, pois são pastas de trabalho separadas. Preciso do meu pagamento semanal para puxar todas as células de pagamento e totalizá-las em uma única folha.

A célula no pagamento diário é "B23 na Folha-1", esse é o local em todas as pastas de trabalho. Eu sei que isso é muita informação, espero que ajude você a entender o que eu preciso. Então, para o que eu preciso: eu quero inserir a data em que devo pagar e fazer com que a pasta de trabalho encontre os dias necessários para fazer referência com base nessa data, ou seja: 11/15/13 é pago por datas 11/03/13 - 11 / 08/13 ". Agora que tem as datas, encontre o valor na célula B23 na folha 1 de todas as 7 datas e mostre-a neste livro. Eu posso então tê-lo comparar o meu salário bruto ao que eu deveria ser pago se é diferente, essa parte eu já sei fazer e já tenho configurado. Obrigado antecipadamente pela sua ajuda.

    
por Kane 11.02.2014 / 04:06

1 resposta

1

Dê uma olhada nisso e certifique-se de substituir o path pelo caminho no seu computador onde você guarda seus arquivos.

Como funciona: Coloque isso em um módulo em uma nova pasta de trabalho, coloque o dia do pagamento na célula A1 e execute a macro chamada Total . As datas e valores de pagamento aparecerão nas colunas B e C com a soma em C7 .

Option Explicit
Sub Total()
Application.ScreenUpdating = False
Call getdates
Call openWBgetData
Range("c7") = [sum(C1:C6)]
Application.ScreenUpdating = True
End Sub

Private Sub getdates()
Dim i As Integer, j As Integer
j = 7

For i = 1 To 6
    Cells(i, 2) = Cells(1, 1).Value - j
    j = j + 1
Next

End Sub

Private Sub openWBgetData()
Dim k As Integer
Dim lng As Long
Dim path As Long
Dim wbname As String
path = "C:\path\to\"

For k = 1 To 6
    wbname = Cells(k, 2).Value
    Application.Workbooks.Open (path & wbname & ".xlsx")
    lng = Workbooks(wbname).Sheets("Trip-1").Range("O6").Value
    Workbooks(wbname).Close
    Cells(k, 3) = lng
Next


End Sub
    
por 11.02.2014 / 18:30