Copiar planilha Completa incluindo vários nomes de intervalos definidos usando macro ou VBA

0

Estou tentando criar uma pasta de trabalho para minha empresa usar para acompanhar as vendas.

O problema que estou correndo é que eu quero que cada usuário tenha sua própria pasta de trabalho salva em seu computador local para obter suas próprias informações. Esta pasta de trabalho usa um formulário de usuário para enviar dados, o que extrai informações de uma planilha na pasta de trabalho para o autopreenchimento com base na marca do dispositivo vendido.

Eu quero poder atualizar essas informações em uma unidade de rede e ter a pasta de trabalho atualizada automaticamente sempre que for aberta.

Eu consegui fazer isso para um intervalo individual, sem problemas.

Eu quero poder fazer isso para uma planilha completa, para que eu possa definir intervalos adicionais conforme necessário e preenchê-los para os usuários sem a necessidade de atualizações individuais.

Basicamente, existem dois processos que precisam ser executados, o primeiro processo já foi resolvido, mas mostrarei por que preciso copiar vários intervalos

-Abra a forma de usuário
-Selecione marca
-Userform preenche automaticamente vários modelos com base em Sheet2.Range ("Brand")
-Selecione Brand2
-Populates baseados em Sheet2.Range ("Brand2")
-Submeter

O segundo processo é
-Localização de rede aberta / pasta de trabalho
-Adicionar intervalo ("Brand3")
-Salvar

-Abra o livro de trabalho local

-Sheet2 = NetworkLocation / Workbook / Sheet2
-Userform preenche com dados adicionais para Brand3

Isso é possível, e você poderia aconselhar sobre como proceder?

Obrigado :)

    
por Guest123465798 18.12.2014 / 03:01

1 resposta

1

Ok, consertou tudo. :)

E respondendo a minha própria pergunta, lol - Apenas pelo amor do googles.

Private Sub Workbook_Open()

Const fromFile = "NetworkDriver\Folder\Workbook.xlsx"

Application.DisplayAlerts = False
Sheets("Sheet8").Delete
Sheets("Sheet9").Delete
Application.DisplayAlerts = True

Dim srcBook As Workbook
Dim wkb As Workbook
Set wkb = ActiveWorkbook
' open workbook and set reference!





Set srcBook = Application.Workbooks.Open(fromFile, _
UpdateLinks:=False, _
ReadOnly:=True, _
AddToMRU:=False)

Application.ScreenUpdating = False
srcBook.Sheets("Sheet8").Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)
srcBook.Sheets("Sheet9").Copy After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count)

srcBook.Close False
wkb.Sheets("Sheet8").Visible = False
wkb.Sheets("Sheet9").Visible = False

Application.ScreenUpdating = True



End Sub
    
por 18.12.2014 / 05:21