Notifications
Clear all

Enviar dados para planilha na REDE

10 Posts
1 Usuários
0 Reactions
911 Visualizações
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Ola Pessoal,

No meu serviço trabalhamos com várias planilhas, sendo uma individual para cada pessoa. Resumidamente falando precisamos enviar os dados de nossas planilhas individuais para a PLANILHA MAE, vamos chama-la assim.

Gostaria de automizar isso, de forma que eu e meus companheiros possamos enviar os dados de nossas planilhas para esta PLANILHA MAE, que funciona como um banco de dados. Ou seja, ao inves de gravar as informações cadastrais em minha planilha, queria enviar para a PLANILHA MAE, que fica em outro PC, na rede. Hoje eu preciso lançar 2 vezes, na minha planilha e na PLANILHA MAE

O codigo usado para lançar em cada planilha é assim:

Private Sub CommandButton10_Click()

Sheets("PCTA").Activate

Range("B2").Select

Do
If IsEmpty(ActiveCell) = False Then
ActiveCell.Offset(1, 0).Select
End If
Loop Until IsEmpty(ActiveCell) = True
ActiveCell.Value = TextBox1.Value
ActiveCell.Offset(0, 1).Value = CCur(TextBox2.Value)
ActiveCell.Offset(0, 2).Value =TextBox3.Value

TextBox1.Value = Empty
TextBox2.Value = Empty
TextBox3.Value = Empty

ListBox1.Clear
TextBox1.SetFocus

MsgBox "Registro incluído com sucesso"

End Sub

Obrigado desde já

 
Postado : 31/03/2013 6:38 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Boa noite!!

Tente adaptar...
Autor:Siddharth Rout

Sub Work(ByVal TgtName As String, ByVal SrcName As String)
    Dim TgtWbk As Workbook, SrcWbk As Workbook, WS As Worksheet
    Dim Myarray() As String, FlNm As String
    
    Myarray = Split(TgtName, "")

    FlNm = Myarray(UBound(Myarray))
    
    If FileExists(TgtName) Then

        Set TgtWbk = Workbooks.Open(Filename:=TgtName)
    Else

        Workbooks.Add
        'ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "" & TgtName
        ActiveWorkbook.SaveAs Filename:=ThisWorkbook.Path & "" & FlNm
        Set TgtWbk = ActiveWorkbook
    End If

    Set SrcWbk = Workbooks.Open(Filename:=SrcName, ReadOnly:=True)
   
    For Each WS In SrcWbk.Worksheets
        If WksExists(TgtWbk, WS.Name) Then
            Status SrcName, WS.Name, "Worksheet already exists in " & TgtName & ", Skipped."
        Else
            TgtWbk.Worksheets.Add After:=TgtWbk.Worksheets(TgtWbk.Worksheets.Count)
            TgtWbk.ActiveSheet.Name = WS.Name
            CopySheet WS, TgtWbk.ActiveSheet
            Status SrcName, WS.Name, "Worksheet copied to Target."
        End If
    Next WS

    SrcWbk.Close SaveChanges:=False
    Set SrcWbk = Nothing
    
    TgtWbk.Close SaveChanges:=True
    Set TgtWbk = Nothing
End Sub

Sub ImportData_Click()
      
      Work "D:sample.xlsx", "D:aaa.xlsm"
End Sub

Att

 
Postado : 31/03/2013 6:59 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Ola Alexandre,

Antes de qualquer coisa muito obrigado por sua prontidão em me ajudar, sua boa vontade é de impressionar.

Porém o exemplo foge daquilo que pretendo.

Vou enviar os dados da minha planilha para uma outra planilha que ja esta aberta na rede.

Valeu

 
Postado : 01/04/2013 12:02 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Não entendi, o seu codigo (no primeiro post) já não faz o que deseja?

 
Postado : 01/04/2013 12:17 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Ola Reinaldo,

Não, este código não faz.

Hoje eu preciso lançar 2 vezes. Lanço na minha planilha e depois da PLANILHA MAE.

Esse código é como lanço os dados nas 2, mas de forma INDIVIDUAL. Porém eu quero que seja lançado simultaneamente na minha e na planilha mãe, que esta em outro PC, deu pra entender ? Espero que tenha sido claro.

Valeu

 
Postado : 01/04/2013 1:34 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Guima, já estou de saida, mas pelo que entendi, você tem de ajustar ou criar uma rotina com o caminho da rede e localização do seu arquivo e executar a sua rotina adaptando os nomes e locais.

Pesquise sobre Rede no forum e encontrara mais sobre o a ssunto.Veja tambem :

Como definir o Caminho da Pasta dados para uso em rede
http://www.tomasvasquez.com.br/forum/vi ... rede#p4395

[]s

 
Postado : 01/04/2013 1:55 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Ola Mauro,

Obrigado pelo interesse em me ajudar. A discussão daquele link que me enviou pelo que entendi esta em outro nível, o cara queria puxar dados de uma planilha em internet.

Com ajuda do Felipe eu consegui prosseguir um pouco, mas estacionei num erro de subescrito fora de intervalo na linha onde aponto o caminho da planilha MAE na rede. Se alguem puder me dizer onde esta erro. Segue o código abaixo:

Sub GCLIENT()
    Dim wksMe As Worksheet
    Dim wkbMãe As Workbook
    Dim wksMãe As Worksheet
    Dim lngLin As Long
        
    Set wksMe = Workbooks("BASEGMP.xlsm").Worksheets("PCTA")
    
    'Gravar informações na planilha PCTA da pasta
    'de trabalho ativa:
    With wksMe
        lngLin = .Cells(.Rows.Count, "B").End(xlUp).Row + 1
        .Cells(lngLin, "B") = PCTA.TextBox1
        .Cells(lngLin, "C") = PCTA.TextBox2
        .Cells(lngLin, "D") = PCTA.TextBox3
    End With
    
    'Gravar informações na planilha PCTA da pasta
    'de trabalho mãe. Altere o caminho abaixo:
    Set wkbMãe = Workbooks("\NEGMeus documentosMAE.xlsm")
    Set wksMãe = wkbMãe.Worksheets("PCTA")
    With wksMãe
        lngLin = .Cells(.Rows.Count, "B").End(xlUp).Row + 1
        .Cells(lngLin, "B") = PCTA.TextBox1
        .Cells(lngLin, "C") = PCTA.TextBox2
        .Cells(lngLin, "D") = PCTA.TextBox3
    End With
   ' wkbMãe.Close SaveChanges:=True
    
    MsgBox "Dados gravados com sucesso!", vbInformation
End Sub
 
Postado : 03/04/2013 6:39 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

A chamada "planilha MAE" está aberta em seu micro?
Se estiver, refira-se a ela da mesma maneira que se referiu a filha.
Se não estiver, será preciso abri-la primeiro (ou efetuar uma conexão ADO a mesma)

 
Postado : 03/04/2013 7:22 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Ola Reinaldo,

A planilha MAE esta aberta em outro PC na rede, mas friso ela ja se encontra ABERTA, porém em outro PC.

Valeu

 
Postado : 03/04/2013 8:30 am
(@fernandofernandes)
Posts: 43750
Illustrious Member
Topic starter
 

Pelo que conheço, não é possivel um usuario utilizar/modificar uma planilha que esteja em utilização em outro micro/local/usuario;há um bloqueio do proprio sistema operacional. Exceto (creio eu) para planilhas compartilhada, e o seu caso?
Contudo o codigo vba "precisa" se concetar a planilha para que possa "manipular" seus dados; veja no link
https://sites.google.com/site/pfntec/mo ... ados---vba
ou talvez
http://www.tomasvasquez.com.br/forum/vi ... VxHnDcx-RE

 
Postado : 03/04/2013 9:19 am