Ir para conteúdo
Fórum Script Brasil

andregiordano43

Membros
  • Total de itens

    18
  • Registro em

  • Última visita

Tudo que andregiordano43 postou

  1. Não amigo, acho que eu não expliquei direito. O Office 2007 tem uma funcionalidade quando você exporta uma consulta para Excel que, ao final da exportação, pergunta se você não quer gravar aquele procedimento. O que quero saber é onde ele armazena esse procedimento, que suponho ser um código VBA, para que eu o copie e faça-o rodar através de meu botão. Abraços!!!
  2. Boa tarde !!! Gostaria de saber se algum dos colegas sabe informar onde o Access 2007 armazena o código VBA das 'Exportações Salvas', aba Dados Externos. Pergunto pois estou prestes a 'travar' minha base(esconder menus, etc) e gostaria de rodar este código atrás de um botão em meu formulário de controle. Abraços!!!
  3. Já tentei selecionar dessa forma. O erro é apresentado na linha citada por você. (Onde define-se o range para o gráfico) Quando deixo a linha citada como "=Sel" apenas, o erro é o seguinte: "Erro em tempo de execução 424: O objeto é obrigatório" Att, André
  4. Bom dia! Estou desenvolvendo um código em VBA para que quando a pessoa clique no botão ele identifique automaticamente a(s) última(s) linhas inserida na planilha e atualize um gráfico. Para tanto, programei as linhas abaixo: Sub Macro2() Range("A1").Select Sel = Range(Selection, ActiveCell.SpecialCells(xlLastCell)).Select ActiveSheet.ChartObjects("Gráfico 1").Activate ActiveChart.SetSourceData Source:=Range(Sel) MsgBox "Gráfico Atualizado !!!", vbOKOnly, "Aviso!" End Sub Porém, me é apresentado o seguinte erro: "O Método Range do Objeto Global Falhou" Alguém tem alguma sugestão para resolução deste problema? Abraços!!!
  5. Boa tarde! Estou tentando criar uma consulta adiciona tabela que deveria funcionar da seguinte forma: Tenho em uma tabela(Chamada de "Plan1") com dados de ocorrencias de 01/06 à 10/06 e em outra tabela, (Chamada "Plan11")com dados de ocorrencias de 01/06 à 15/06. Tentei fazer uma consulta cria tabela com o relacionamento tipo 2 "Incluir Todos os registros de Plan11 e somente os registros de Plan1 quando os campos associados forem iguais" e relacionei todos os campos de Plan11 para Plan1. O problema é que ele simplesmente sobrescreve os dados de Plan1 com os da Plan11, porém eu preciso que ele sobrescreva apenas o que for repetido entre eles, não tudo. O que tiver de diferente na Plan1 deve ser mantido. Alguém pode me dar uma luz se o que estou fazendo é o caminho mais adequado?? (Sou iniciante..) Apenas mais uma observação, minha intenção é criar uma 3º tabela com os dados consolidados de Plan1 e Plan11. Abraços!!!
  6. Olá amigo !!! Ele deu um erro quando digitei o comando que você passou: "O Objeto é obrigatório" Voce sabe como resolver? Abraços!!
  7. Boa tarde à todos!! Estou desenvolvendo um aplicativo que consolida alguns dados utilizando VBA no Excell e depois importa tudo para o Access. Fiz um formulário no Access para deixar uma interface mais familiar para o usuário, porém o problema é que quando o user clica no botão onde roda a macro VBA (que está no Excell), alguns InputBox e MsgBox não aparecem!! Quer dizer, até aparece, mas parece que o Excell roda "por tras" do Access, e para o cara ver a mensagem ele tem que dar um ALT+TAB. A maneira que estou acessando o Excell é a seguinte: Dim oApp As Object Set oApp = CreateObject("Excel.Application") Set e = CreateObject("Excel.Application") Set pasta = e.Workbooks.Open("C:\Documents and Settings\agiord\Desktop\Pastas\Consolida_Mes.xls") e.Visible = True Alguém conhece alguma outra forma, para que as mensagens que digitei no Excell apareçam no Access sem o cara ter que dar ALT+TAB??? Abraços!!!
  8. Olá Jonathan, Posso dizer que com o conjunto de dicas que você me deu consegui colocar minha aplicação funcionando. Acredito que este tópico pode ser fechado!!! Obrigado! Abraços
  9. Então cara, só pra te explicar melhor, estou querendo deixar aberto para o usuário a partir de uma planilha de controle para que ele mesmo digite o nome dos arquivos que é para rastrear. Então apartir do código que você me passou, fiz o seguinte: Dim var As Workbook Dim controle As Workbook controle = "C:\Documents and Settings\Andre\Desktop\Controle_New.xls" Pastas = Array("1904\", "2004\", "2104\") For p = 0 To UBound(Pastas) Pasta = "G:\" & Pastas(p) Nomes = Array(controle.Worksheets(Plan1).Cells(2, 1)) For i = 0 To UBound(Nomes) Arquivo = "G:\" & Pastas(p) & Nomes(i) Workbooks.Open (Arquivo), , True Set var = Workbooks.Open(Arquivo) . . . (resto do código) Minha intenção é que ele leia o nome do arq. contido na célula A2 da planilha de controle, porém ele está apresentando o seguinte erro: "A variável do objeto ou a variável do bloco With não foi definida" e seleciona essa linha "controle = "C:\Documents and Settings\Andre\Desktop\Controle_New.xls" Tem alguma forma mais simples de eu definir dentro do Array alguma célula para ele ler? Abraços!!!
  10. Ah, ok. Outra pergunta cara. Como faço, no código abaixo para ao invés de ter que definir o Array manualmente ele pegar este conteúdo de uma célula no Excell. Sub TESTE() Nomes = Array("Jose", "Mario", "Pedro", "Paulo", "Rafael") For i = 0 To UBound(Nomes) Arquivo = "F:\" & Nomes(i) Workbooks.Open (Arquivo) Next i End Sub Na segunda linha, eu digo, ao invés de encrever o nome do cara deixar para que este conteúdo seja obtido através do valor de uma(ou mais) células? Abraços!!
  11. Fala Jonathan, tranquilo?! Consegui fazer o loop para leitura dos arquivos nos diretórios e funcionou corretamente. A única coisa que está dando problema é quando o arquivo não existe. Achei na internet o comando abaixo, mas parece que ele funciona só pra VB, não VBA. Dim fso As Scripting.FileSystemObject If fso.FileExists(Arquivo) Then (Executa funções...) End If você conhece algum semelhante pra VBA? Abraços!!
  12. Jonathan, agora sim !!! Muito obrigado novamente!!! Declarando a variável funcionou legalzinho!! Agora vou tentar fazer ele rastrear estes mesmos arquivos em diferentes pastas... (Que é a outra dica que você deu no outro tópico) Abraços!!!
  13. Nomes = Array("Jose.xls", "Mario.xls", "Pedro.xls", "Rafael2.xls", "Rafael3.xls") For i = 0 To UBound(Nomes) Arquivo = "G:\" & Nomes(i) Workbooks.Open (Arquivo) 'Seleciona somente linhas com dados e cola especial na Planilha Consolidado.xls 'Abrindo 1º Arquivo 'Workbooks.Open ("G:\Rafael2.xls"), , True If Range("B7") <> "" Then Range("B7:H7").Select Range(Selection, Selection.End(xlDown)).Select Selection.Copy Windows("Consolidado.xls").Activate Range("A65536").Select Selection.End(xlUp).Select ActiveCell.Offset(1, 0).Activate Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False 'Copiando nome do técnico Windows(Arquivo).Activate Range("B1").Select Selection.Copy Windows("Consolidado.xls").Activate Range("A65536").Select Selection.End(xlUp).Select ActiveCell.Offset(0, 7).Activate Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Do While ActiveCell.Offset(-1, 0) = "" ActiveCell.Offset(-1, 0).Activate Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Loop 'Copiando Data Windows(Arquivo).Activate Range("D1").Select Selection.Copy Windows("Consolidado.xls").Activate Range("A65536").Select Selection.End(xlUp).Select ActiveCell.Offset(0, 8).Activate Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Do While ActiveCell.Offset(-1, 0) = "" ActiveCell.Offset(-1, 0).Activate Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Loop Windows(Arquivo).Close Else Range("A1").Select Windows(Arquivo).Activate Windows(Arquivo).Close End If Next i O que ele faz basicamente é ver se na célula B7 tem conteúdo, se não tiver ele fecha (ou deveria fechar..) o arquivo. A linha onde eu abria o arquivo atraves de uma referencia fixa está comentada, justamente porque agora eu peciso que isso não seja mais fixo, para abrir os outros arquivos. Abraços!!
  14. Perdão cara, Na verdade quando postei que estava resolvido eu tinha testado com o exemplo que tinha postado anteriormente. O erro voltou a acontecer quando alterei o código do meu programa! A linha que da erro é a seguinte: Windows(Arquivo).Activate Windows(Arquivo).Close Quero que quando o arquivo não tenha conteúdo ele feche a janela. Mas parece que a variável não está funcionando direito. Dá erro quando tenho ativar a janela. (que assumiu o valor da variável) O que você acha que pode ser?? Abraços
  15. Jonathan, perfeito. Funcionou aqui sim! Muito obrigado mesmo! Abraços!!
  16. Bom dia, Estou tentando realizar um comando simples no VBA que abre diferentes arquivos dentro de uma mesma pasta, com o seguinte código: Sub TESTE() Nomes = Array("Jose", "Mario", "Pedro", "Paulo", "Rafael") For i = 1 To 5 Arquivo = "F:\" & Nomes(i) Workbooks.Open (Arquivo) Next i End Sub Porém ele está me apresentando o seguinte erro: "Erro em tempo de execução 9 Subscrito Fora do intervalo" Alguém pode me ajudar?? Obrigado!
  17. Olá pessoal, tudo bem ?! Tenho uma dúvida quando à programação em VBA.. Peciso que meu programa faça a leitura dos mesmos arquivos em pastas diferentes automaticamente, sem eu ter que digitar. Por exemplo: Sub Macro1() Workbooks.Open ("C:\Documents\Financeiro\21042010\Rafael.xls") Workbooks.Open ("C:\Documents\Financeiro\21042010\Jose.xls") Workbooks.Open ("C:\Documents\Financeiro\21042010\Paulo.xls") End Sub Essa parte colocando uma referência fixa de data (no caso a pasta onde o arquivo está armazenado) funcionou legal, agora eu gostaria de saber como posso automatizar para que ele leia em todas as pastas, tipo, do dia 20/04, 19/04, etc...? Melhor, como faço para definir um período, tipo, quero ler arquivos do dia 19/04 à 21/04... Sei que é uma dúvida elementar, mas é que estou começando! Obrigado deste já pela atenção! André
×
×
  • Criar Novo...