
Nelson S
Membros-
Total de itens
41 -
Registro em
-
Última visita
Tudo que Nelson S postou
-
Depois da linha: mes = Range("M1").Activate coloque: msgbox mes e transcreva o que diz a mensagem que será dada.
-
A substituição do texto que você faz é só trocar o mês? ex: "Junho" por "Julho"? São muitas linhas onde a substituição é feita? A macro foi criada através do gravador de macros? Teria como você disponibilizar o ´código da macro?
-
Existir existe, mas seria preciso dar mais detalhes sobre o problema. Por exemplo, o termo "pasta" a que você está utilizando se refere a uma pasta no computador (C:\Documentos\2015)? O termo planilha se refere a um arquivo xls/xlsx ou a uma "aba" de um arquivo xls/xlsx? Você não explicita em que arquivo (xls/xlsx) a macro é executada. E seria necessário ter acesso ao código da macro para saber onde ela deveria ser feita a alteração. Se você puder explicar melhor o problema e disponibilizar arquivos com a estrutura das planilhas e o código da macro vai facilitar bastante a resolver o teu problema...
-
Se você manja bem pouco de programação e não entende nada de VBA vai ser muito difícil te dar um rumo. Talvez seja até mais trabalhoso tentar te dar um rumo do que simplesmente passar um código pronto. A idéia é bem simples. Usando programação você: 01.Cria um arquivo texto 02.Lê os dados linha a linha 03.Conta o número de caracteres de cada célula e adiciona a quantidade necessária de zeros à esquerda de acordo com o layout. 04.Armazena os valores das células já com os zeros à esquerda em uma variável 05.Ao finalizar a leitura das células da linha grava os valor armazenado na variável em uma linha do arquivo texto. 06.Depois da leitura de todas as linhas, salva e fecha o arquivo texto. Basicamente é isso que você tem que fazer.
-
Copia plan modelo, nomear aba com lista de nomes do painel
pergunta respondeu ao rogerparana de Nelson S em VBA
Disponibilize um modelo num servidor de arquivos tipo Sendspace que fica mais fácil ajudar... -
Tenho pouca familiaridade com modelo objeto do Word, mas verei se consigo entendê-lo. Se conseguir entender e escrever uma rotina eu te dou um retorno, OK?
-
Para entender melhor o teu problema seria possível disponibilizar arquivos em um servidor tipo 4shared ou sendspace? Ou enviar por e-mail? Um arquivo referente ao que você recebe, com a imagem original. E outro arquivo referente a como você quer que o arquivo fique. Visualizando os arquivos dá para entender melhor.
-
Essa tabela e esses registros são de um documento no Word? A solução precisaria ser no Word?
-
Supondo que sua planilha(plan) tenha vendedores com os seguintes códigos: 100.000 100.001 100.002 100.003 O que você quer fazer é separar os registros por cada vendedor e salvá-los em arquivos xls? Por exemplo, o arquivo 100.000.xls conteria os registros do vendedor 100.000. O arquivo 100.001.xls conteria os registros do vendedor 100.001. E assim por diante. É esse o salvamento automático que você quer fazer?
-
É possível disponibilizar um arquivo completo para fazer testes? Só dois registros é muito pouco. SE for possível, envie um arquivo zipado para meu e-mail. Abs.
-
Sub MacroGRUPO() On Error GoTo TrataErro Dim varGRUPO As String varGRUPO = Range("Capa!R1").Value Range("PBT!D:D").AutoFilter Field:=1, Criteria1:="=*" & varGRUPO & "*", Operator:=xlAnd Range("PBT!A3:BJ40000").Copy Range("Dados!A3").PasteSpecial Range("PBT!D:D").AutoFilter Range("Capa!U2").Select ActiveSheet.PivotTables("Tabela Dinâmica Grupo Econômico").PivotCache.Refresh Range("A1").Select TrataErro: If Err.Number = 308 Then '* <-- Numero do erro aqui. MsgBox "Erro na digitação", vbInformation, "Erro na digitação" Exit Sub End If End Sub
-
Quando você executava a macro sem o tratamento de erro surgia uma mensagem dizendo que havia ocorrido um erro, correto? Nessa mensagem é exibida o número do erro. O "X" do trecho abaixo é para ser substituido por esse número que aparece na mensagem. "Traduzindo" o código abaixo, ele diz algo assim: "Se o número do erro for X, exibir mensagem". If Err.Number = X Then <-- Substituir X pelo número do erro. MsgBox "Erro na digitação", vbInformation, "Erro na digitação" End If Exit Sub Para gerar novamente a mensagem de erro, comente a linha inicial com uma aspa simples. Depois de obter o número de erro e substituir o X, retire a aspa simples. Assim: ' On Error GoTo TrataErro
-
Escreva um trecho de código para tratar o erro. Algo assim: '* No inicio da rotina On Error Goto TrataErro (rotina aqui...) '* No final da rotina TrataErro: If Err.Number = X Then Msgbox "Erro na digitação de Y", vbInformation, "Erro na digitação" Exit Sub End If Onde X é o número do erro que aparece na mensagem que interrompe a execução da macro e Y é o campo dos valores filtrados.
-
Deu erro porque eu considerei a primeira célula como estando na célula "A1". Só que pelo seu código a primeira célula está na célula "A6". A alteração do código abaixo deve funcionar. Public Sub PreencherCelulas() Dim wks As Worksheet Set wks = ThisWorkbook.ActiveSheet wks.Cells(6, 1).CurrentRegion.SpecialCells(xlCellTypeBlanks).Cells.FormulaR1C1 = "=R[-1]C" wks.Cells(6, 1).CurrentRegion.Copy wks.Cells(6, 1).CurrentRegion.PasteSpecial Paste:=xlPasteValues wks.Cells(6, 1).Select Application.CutCopyMode = False Set wks = Nothing End Sub
-
Public Sub PreencherCelulas() Dim wks As Worksheet Set wks = ThisWorkbook.ActiveSheet wks.Cells(1, 1).CurrentRegion.SpecialCells(xlCellTypeBlanks).Cells.FormulaR1C1 = "=R[-1]C" wks.Cells(1, 1).CurrentRegion.Copy wks.Cells(1, 1).CurrentRegion.PasteSpecial Paste:=xlPasteValues wks.Cells(1, 1).Select Application.CutCopyMode = False Set wks = Nothing End Sub
-
Só por curiosidade... O arquivo txt original apresenta essas linhas em branco separando os dados? Eu detectei 9 campos de dados no arquivo txt. Entretanto, a planilha exibida apresenta 10 colunas. E parece que a sequencia das colunas também não "bate" com a sequencia dos campos no arquivo txt. É isso que acontece mesmo? Outra... você perde muito tempo convertendo esses dados do arquivo txt para o formato na planilha Excel?