Transferindo dados entre pastas de trabalho com base em um valor em uma célula específica

1

Eu criei um formulário no Excel que move as informações inseridas no formulário para a planilha adjacente na mesma pasta de trabalho, bem como para a pasta de trabalho de meus agentes em um caminho de arquivo diferente. Aquela peça do quebra-cabeça está bem no lugar! Funciona como um encanto!

A partir daqui, vou criar duas pastas de trabalho adicionais idênticas ao primeiro agente (3 agentes no total), onde as informações também serão filtradas simultaneamente.

O que não consigo descobrir é como detalhar melhor a transferência apenas tendo as informações para uma pasta de trabalho se o nome dos agentes estiver listado em uma coluna específica.

No meu caso, o nome dos meus agentes está na coluna D . Quando acerto a transmissão, gostaria de saber se minha macro reconhecerá o nome digitado nessa célula específica e a roteará para essa pasta de trabalho específica, em vez dos três agentes?

Eu sei que isso é possível, mas meu pequeno cérebro não me permite mais acesso às minhas células cerebrais! Eu sou novo em escrever em VBA, então eu posso estar perdendo muito. Qualquer ajuda seria apreciada. O código atual que tenho em vigor está abaixo.

Private Sub CommandButton1_Click()

Dim DateReceived As Date
Dim CustomerName As String
Dim AcctNumber As Single
Dim AssignedAgent As String
Dim DisputeCode As Single
Dim ProjRespDate As Date
Dim DocUploadDate As Date
Dim DirectMailForm As Workbook

Worksheets("Form").Select
DateReceived = Range("G3")
CustomerName = Range("G4")
AcctNumber = Range("G5")
AssignedAgent = Range("G6")
DisputeCode = Range("G7")
ProjRespDate = Range("G8")
DocUploadDate = Range("G9")

Worksheets("Data").Select
Worksheets("Data").Range("A1").Select
RowCount = Worksheets("Data").Range("A1").CurrentRegion.Rows.Count
With Worksheets("Data").Range("A1")
.Offset(RowCount, 0) = DateReceived
.Offset(RowCount, 1) = CustomerName
.Offset(RowCount, 2) = AcctNumber
.Offset(RowCount, 3) = AssignedAgent
.Offset(RowCount, 4) = DisputeCode
.Offset(RowCount, 5) = ProjRespDate
.Offset(RowCount, 6) = DocUploadDate

End With

Worksheets("Form").Select
Worksheets("Form").Range("G3").Select
ActiveWorkbook.Save
Range("G3:G9").ClearContents

Set DisputeForm = Workbooks.Open("C:\Users\klx380\Documents\Consolidated_Dispute_Tracker_2014.xls")
Worksheets("Mail").Select
Worksheets("Mail").Range("A1").Select
RowCount = Worksheets("Mail").Range("A1").CurrentRegion.Rows.Count
With Worksheets("Mail").Range("A1")
.Offset(RowCount, 0) = DateReceived
.Offset(RowCount, 1) = CustomerName
.Offset(RowCount, 2) = AcctNumber
.Offset(RowCount, 3) = AssignedAgent
.Offset(RowCount, 4) = DisputeCode
.Offset(RowCount, 5) = ProjRespDate
.Offset(RowCount, 6) = DocUploadDate

End With

DisputeForm.Save
DisputeForm.Close


End Sub

Private Sub Worksheet_Change(ByVal Target As Range)

If [G9].Value <> "" Then
  CommandButton1.Enabled = True
Else: CommandButton1.Enabled = False
End If

End Sub
    
por Terence Robinson 18.06.2014 / 21:44

0 respostas