-
Posts
844 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
Tudo que Edson Luiz Branco postou
-
Excel VBA - Objeto ou Parâmetro para listar todos itens do Excel Sense de um comando.
Edson Luiz Branco respondeu ao tópico de daviddatal em Microsoft Office e similares
Fazendo uma analogia coloquial, seria como dizer que "...nunca comi um pão feito em padaria, sempre fiz meus próprios pães em casa... mas dizem que a Panificadora do Zé faz um pão 'da hora'" hehehe. Então não saberia lhe orientar sobre isso... mas há bons canais no YT sobre VBA para iniciantes, como o da Hashtag Treinamentos, o da VBA Academy, o do Tomás Vasquez... enfim. -
Excel VBA - Objeto ou Parâmetro para listar todos itens do Excel Sense de um comando.
Edson Luiz Branco respondeu ao tópico de daviddatal em Microsoft Office e similares
Parabéns pela iniciativa de estudar VBA... e já que você está nessa vibe, vamos dando nomes corretos aos bois? você gostaria de uma maneira, via VBA, de listar, para todos os objetos do Excel (e os do próprio VBA/VBE etc.), todos os seus métodos, suas propriedades, seus eventos, suas constantes tipadas/enumeradas... é isso? Olha, desconheço uma maneira de fazer isso ser listado via código. Mas dentro do editor do VBA, você pode a qualquer momento verificar a estrutura do Modelo de Objetos atravé do Pesquisador de Objetos, teclando F2: Outra maneira, embora rudimentar, seria exibir o Help online de um dos tópicos e analisar a árvore do lado esquerdo do navegador: A listagem que você fez em seu exemplo, usando a função do VBA (do VBA mesmo, não do Excel) a VBA.Environ não lista recursos nem comandos. Lista apenas Variáveis de Ambiente do Windows, uma simples String. -
Excel Erro na Execução de uma Macro Excel
Edson Luiz Branco respondeu ao tópico de magnosalmeida em Microsoft Office e similares
Há duas linhas sobrando aí, @magnosalmeida. A que está End Select pode eliminar sem preocupação. Agora, entre a linha que está em amarelo (Sub AtualizarTodaPlanilha()) e a da linha seguinte (Private Sub Worksheet_Activate()) qual delas está sobrando depende de onde ela está (se num módulo comum ou num módulo de planilha) e de qual a forma de você disparar a macro: a primeira é disparada por você, seja através de algum botão ou de atalho de teclado ou via menu. A segunda é disparada quando uma determinada planilha (a que contém o código) é Ativada. -
Excel Excel - Como mostrar várias janelas do Excel na Barra de Tarefas.
Edson Luiz Branco respondeu ao tópico de daviddatal em Microsoft Office e similares
Boa noite, @daviddatal você quer dizer na Barra de Tarefas do Windows, correto? Se sim, clique com o botão direito em qualquer espaço vazio da Barra de Tarefas do Windows, escolha "Configurações da Barra de Tarefas" e na caixa "Combinar botões da barra de tarefas" escolha a opção "Nunca". -
Word Gerar Pdf ou Backup
Edson Luiz Branco respondeu ao tópico de Jmbs em Microsoft Office e similares
Os memorandos são baseados em Modelo (.dotx ou .dotm)? Ou é a velha técnica de pegar o último, limpar tudo e digitar por cima mudando os campos? Consegue anexar o arquivo e tb qual a pasta que será salvo o pdf? (se for com macro tem que zipar antes pra anexar aqui) -
Word Gerar Pdf ou Backup
Edson Luiz Branco respondeu ao tópico de Jmbs em Microsoft Office e similares
Entendi. É só pros memorandos, correto? E esses memorandos têm algo que os diferencie de outros tipos de documento, como uma numeração especial ou um texto específico? Ou, se não precisar ser totalmente automático, talvez um botão na faixa de opções pra convertê-lo a pdf... -
Word Gerar Pdf ou Backup
Edson Luiz Branco respondeu ao tópico de Jmbs em Microsoft Office e similares
Bom dia, @Jmbs O Word (assim como os outros apps Office) já oferecem a possibilidade de salvar backups, é só ativar esta opção em Arquivo > Opções > Avançado > na seção "Salvar", selecione "Criar sempre backup". Isso já não lhe atenderia? -
Excel Duvída VBA + ActiveX
Edson Luiz Branco respondeu ao tópico de fradseu em Microsoft Office e similares
Anexe seu arquivo @fradseu, pra podermos entender o que está acontecendo. -
Excel formato de data aaaa-mm-ddT00:00:00.000Z para dd/mm/aaaa
Edson Luiz Branco respondeu ao tópico de rita82 em Microsoft Office e similares
Olá, @rita82 Uma forma de fazer seria abrindo normalmente seu CSV numa planilha e usar uma fórmula para extrair a data. Digamos que você tenha importado essas linhas todas para a coluna A e que na primeira linha (célula A1) esteja o cabeçalho da coluna e essas cadeias iniciem então na A2. Na célula B2 você poderia introduzir a fórmula abaixo depois arrastar para o resto da coluna B. Por último formate a coluna B para exibir corretamente as datas. =DATA.VALOR(ESQUERDA(A2;10)) Outra maneira é transformar o intervalo numa Tabela e usar o Power Query. E ainda uma terceira, se for um trabalho repetitivo, fazer uma macro. -
Excel visualizar números grandes no excel
Edson Luiz Branco respondeu ao tópico de AlexAltheman em Microsoft Office e similares
Boa tarde, @AlexAltheman, @Muca Costa O problema é que agora acho que já não dá mais pra fazer nada pois seus números já perderam definitivamente os demais dígitos. você terá que buscar novamente na fonte original e importá-los como texto, não como número, pois o Excel só trabalha com números com no máximo 15 algarismos significativos. -
Excel Somases em várias Abas
Edson Luiz Branco respondeu ao tópico de ppeterk em Microsoft Office e similares
O SOMASES de fato faz essa função, mas de uma em uma planilha. Tanto que você nem precisaria ter usado o SOMASES. Poderia ter usado o SOMASE mesmo (singular), visto só ter um par Intervalo de Critério/Critério em cada planilha. Vai retornar um SOMASE(S) de cada Planilha. Por isso que é necessário, ao final, somá-las (é uma soma de um Array dentro da soma de outro Array). Pra usar o SOMASE, seria só alterar a posição dos parâmetros: =SOMA(SOMASE(INDIRETO("'"&Planilhas&"'!A5:A100");$A2;INDIRETO("'"&Planilhas&"'!AB5:AB100"))) -
Excel Somases em várias Abas
Edson Luiz Branco respondeu ao tópico de ppeterk em Microsoft Office e similares
Boa tarde, @ppeterk Função INDIRETOS (plural)? Acho que você quis usar a função INDIRETO e acabou cometendo algum erro de digitação, suponho. Além disso, lembre-se que quaisquer fórmulas que retornem resultado de referências 3D de intervalos sempre retornam matrizes, portanto no seu caso ainda teria que fazer uma soma desse retorno e, logicamente, se seu Excel não for o do Microsoft 365 em diante finalizar com CTRL SHIFT ENTER. Pra manter sua linha de raciocínio, sugiro na N2: =SOMA(SOMASES(INDIRETO("'"&Planilhas&"'!AB5:AB100");INDIRETO("'"&Planilhas&"'!A5:A100");$A2)) -
Excel planilha com dados vinculados lenta
Edson Luiz Branco respondeu ao tópico de Malu Vilas Boas Fernandes em Microsoft Office e similares
Que bom que pude ajudá-la! Se o problema foi resolvido, favor fechar o tópico aceitando dentre as respostas a que mais influência teve na solução do problema (lado esquerdo). Sucesso pra ti tb! -
Excel planilha com dados vinculados lenta
Edson Luiz Branco respondeu ao tópico de Malu Vilas Boas Fernandes em Microsoft Office e similares
??? Se essa outra aba a que você se refere é alguma nova aba cujo nome seja algo como "Macro1" é porque ao invés de você teclar ALT F11 você teclou talvez distraidamente CTRL F11. Sim, essa é uma outra técnica também válida, mas tem de ir de planilha em planilha e fazer o procedimento. E como seu arquivo tem 52 planilhas, achei mais produtivo fazer via VBA. Mas tá valendo tb! -
Excel planilha com dados vinculados lenta
Edson Luiz Branco respondeu ao tópico de Malu Vilas Boas Fernandes em Microsoft Office e similares
Antes de iniciar, uma observação: como são muitos objetos, dependendo da configuração de sua máquina pode demorar bastante e você pode pensar que o Excel travou. Portanto, faça o procedimento quando não precisar usar o Excel por uns minutos. Estando no Excel, tecle ALT + F11 - Isso exibirá o editor do Visual Basic for Applications. No VBA, vá no menu Inserir > Módulo. Na janela em branco no novo módulo, copie e cole o código abaixo. Tecle F5 para executá-lo. Sub EliminaFiguras() Dim ws As Worksheet, i As Long Application.ScreenUpdating = False For Each ws In ActiveWorkbook.Worksheets If ws.Shapes.Count > 2 Then i = i + ws.Shapes.Count ws.DrawingObjects.Delete End If Next ws Application.ScreenUpdating = True MsgBox i & " figuras eliminadas. Salve seu arquivo.", vbOKOnly End Sub P.S.: Elimine a macro antes de salvar ou responda Sim quando salvar assim que o Excel exibir a mensagem pra salvar sem macro. -
Excel planilha com dados vinculados lenta
Edson Luiz Branco respondeu ao tópico de Malu Vilas Boas Fernandes em Microsoft Office e similares
Boa tarde, @Malu Vilas Boas Fernandes . Seja bem vinda ao fórum. você copiou/colou o conteúdo da internet ou de outro aplicativo? O maior problema parece estar na planilha "Conta Corrente". Só nela existem 60.325 formas/figuras! Muitas são cópias (algumas espelhadas) da figura "Rio Prefeitura..." que está no cabeçalho. Outras são figuras transparentes ou com largura zero, mas se você passar o mouse lentamente no intervalo de algumas células, digamos a C187 por exemplo, notará que ali existe algum objeto. Se você observar, na guia "Página Inicial" > grupo "Edição" > botão "Localizar e Selecionar" (lupa), escolhendo "Painel de Seleção..." perceberá a infinidade de objetos que ali existem. Outras planilhas que também têm muitos, embora menos, são as de nome "Execução do Objeto MMM-21" (em torno de 222 figuras), as de "Conform. da Despesa..." e "Conciliação..." com aprox. 26 e 9 formas, respectivamente. O método mais fácil pra eliminar seria através do VBA. Por exemplo, o comando ActiveSheet.DrawingObjects.Delete apagaria todas as figuras que estão na planilha ativa. Entretanto, apagaria também as duas figuras do Logo no cabeçalho. Se não houver problema em usar dessa forma, você pode copiar de uma das outras planilhas da pasta essas duas figuras de volta às suas posições. Outra forma, embora mais demorada, seria também pelo VBA fazer um loop pelas figuras e, não sendo essas duas, deleta de uma em uma. -
Word Língua alienígena no word
Edson Luiz Branco respondeu ao tópico de JoséCarlos1 em Microsoft Office e similares
Bem vindo ao Clube do Hardware, @JoséCarlos1! Pode ser que seu arquivo esteja apenas com a extensão trocada. Se não houver informações confidenciais ou problemas como violação de direitos autorais, anexe esse arquivo aqui pra que possamos melhor avaliar. -
Excel Condição para liberação de celula
Edson Luiz Branco respondeu ao tópico de Gesiane Diniz em Microsoft Office e similares
Bem vinda ao fórum, @Gesiane Diniz ! Se entendi direito, A1 tem que ter número e além disso tem que ser maior que zero para que você possa alimentar alguma coisa em C1, correto? Isso vale também para C2 em relação a A2, etc. Se for isso, use uma regra de Validação de Dados: Em sua planilha, selecione a célula C2 Guia Dados > grupo Ferramentas de Dados > Validação de Dados Na caixa de diálogo que abre, na guia Configurações, sob Permitir escolha Personalizado Sob Fórmula, digite: =E(ÉNÚM($A2);$A2>0) Na mesma janela, agora na aba Alerta de erro, preencha se quiser informar ao usuário quando entrar com dado inválido: Marque a opção Mostrar alerta de erro após a inserção de dados inválidos Sob Estilo, escolha Parar Em Título, dê um título para a popup que abrirá na tela ao errar. Digamos "Entrada Inválida" Sob Mensagem de erro, digite algo que informe o porquê do erro. Digamos "O Valor da Coluna A deve ser um número maior que zero". Dê OK Agora copie a célula C2 para a área de transferência e cole somente a validação para as demais células: Selecione o intervalo C3 até C5 Clique com o botão direito sobre a seleção e escolha Colar Especial e escolha a opção Validação. -
Excel Impedir duplicidade no cadastro excel vba
Edson Luiz Branco respondeu ao tópico de Jefferson TS em Microsoft Office e similares
A função Val que você está usando é muito limitada e não consegue transformar, por exemplo, a string "111.111.111-11" da TextBox no número puro 11111111111 conforme conteúdo real da célula (Range.Value) da sua planilha. Você teria que antes eliminar o ponto e o hífen do texto com Replace. Entretanto, a meu ver, o mais simples nesse caso seria comparar a TextBox com o conteúdo da célula como está formatado usando a propriedade Range.Text ao invés de Range.Value, eliminando também a função Val. Ficaria assim: If Cells(lin, 5).Text = TextBoxCPF.Value Then 'verificar duplicidade cpf _________________ Uma dica: você poderia reduzir significativamente seu código se ao invés de usar referência de intervalos aproveitar - já que seus dados estão em uma tabela - as referências de tabela. Por exemplo, o trecho de nomes duplicados poderia ficar simplesmente assim: ... If Application.CountIf([Tabela_CADASTRO[NOME]], Me.TextBoxNOME.Value) > 0 Then MsgBox "Este nome já está cadastrado", vbInformation, "Cadastro já existente!" Exit Sub End If -
Excel PROCV+SOMA, em planilhas diferentes.
Edson Luiz Branco respondeu ao tópico de fradseu em Microsoft Office e similares
Olá, @fradseu Algo de errado não está certo... rsrsrs: não vi nenhuma soma, nenhum sinal de adição em sua fórmula. Tente alterá-la para algo como: =SeErro(Procv();0) + SeErro(Procv();0) + SeErro(Procv();0) -
Word Como criar arquivos independentes em PDF, gerados por mala direta do Word
Edson Luiz Branco respondeu ao tópico de André Rache em Microsoft Office e similares
Bem vindo ao fórum, @Jardel Santana! Qual erro está ocorrendo e em qual linha? É uma mala direta que você está imprimindo ou um documento qualquer de x em x págs? Se for mala direta, lembre-se de mesclar o documento num só antes de rodá-la, como dito no primeiro post. Detalhe o que e como você está tentando fazer, preferencialmente anexe seu(s) arquivo(s) aqui (elimine ou distorça informações confidenciais, se existir). Zipe antes os arquivos, se tiverem macro, senão o robô do site não aceita. Se você está usando o último código que postei, lembre-se de alterar o caminho onde ficarão os pdf's na constante "Caminho" (a pasta já deve existir em seu PC). Também altere de quantas em quantas páginas você quer imprimir na constante "BlocoPágs". -
Word Menu dropdown no word
Edson Luiz Branco respondeu ao tópico de JrPaulino em Microsoft Office e similares
Bom dia, @JrPaulino Pra não ter de "reinventar a roda", você pode usar o Controle de Conteúdo tipo Selecionador de Data que o próprio Word oferece em suas ferramentas (grupo Controles da guia Desenvolvedor). Entretanto, se seu objetivo é usar mesmo um do tipo ComboBox, ele também está disponível com o nome de Caixa de Combinação. Outra possibilidade é usar para o primeiro um Controle ActiveX tipo Date & Time Picker ou ainda o Month View e para o segundo um Controle de Formulário herdado (legado) ou um ActiveX tipo ComboBox padrão. Os ActiveX são um tanto mais instáveis em relação à compatibilidade 32x64 bits e os controles têm de estar previamente registrados pra funcionarem (exceção para o ActiveX ComboBox onipresente nos pacotes Office, independente de versão), embora deem mais poder se for programá-los ou formatá-los. Quanto ao controle Caixa de Combinação herdado, funciona bem no Word mas é bem limitado (aceita somente até 25 entradas) e o documento precisa estar com Restrição de Edição tipo Preenchendo Formulários para mostrar a cortina. Anexo um rascunho com alguns desses controles. Exemplos Controles Data e DropDown (EdsonBR).docx -
Visual Basic Escrever xlDown -1 VBA
Edson Luiz Branco respondeu ao tópico de Jefferson TS em Programação - outros
Bom dia, @Jefferson TS Quando você usa a expressão "tabela", você está se referindo a um objeto tabela mesmo (no VBA = ListObject) ou a um simples intervalo de células? Caso seja uma tabela, poderia usar: Sub EliminaÚltimaLinhaDados() With ActiveSheet.ListObjects(1) If Not .DataBodyRange Is Nothing Then .ListRows(.ListRows.Count).Range.Delete xlShiftUp End With End Sub Se for baseado em intervalo, como pelo jeito você já encontrou a última linha que é a dos totais (usou .End(xlDown)), pode usar o Offset com o valor negativo (.End(xlDown).Offset(-1,0)) para se referir à linha imediatamente anterior à dos totais. -
Excel Erro de tempo de execução '91' ao verificar se Textbox está preenchida
Edson Luiz Branco respondeu ao tópico de BiaMidori em Microsoft Office e similares
@BiaMidori, pra analisar erro fica complicado quando o código é passado incompleto. Mas pelo fragmento que você postou, provavelmente deve ter acontecido de o método Find não ter encontrado o texto procurado. Então ao invés de um Range retorna Nothing, e Nothing não tem propriedade Row. Nesse caso sempre teste se o objeto não está vazio antes de prosseguir: Set tblFornecedor3 = Planilha2.Range("FORNECEDOR").Find(what:=e, lookat:=xlPart) If Not tblFornecedor3 Is Nothing Then If e = Planilha2.Cells(tblFornecedor3.Row, 4).Value Then ... ... End If End If Outra hipótese numa passada rápida de olhos sobre seu código é que você pode não ter fechado o primeiro If Then/Else com o End If correspondente ou o With com o End With... Enfim.... -
Excel Erro tempo de execução '-2147417848 - O método 'Add' do objeto 'ListRows' falhou
Edson Luiz Branco respondeu ao tópico de BiaMidori em Microsoft Office e similares
Bom dia, @BiaMidori Esse é um erro de diagnóstico geralmente difícil e tem a ver com Userforms versus criação de novos objetos (.Add), sejam eles controles, shapes, etc. Não tinha visto acontecer ainda com simples adição de linha em ListObject. Tente contornar o problema ativando a planilha imediatamente antes de começar a adicionar a linha. Se possível, anexe seu modelo problemático para darmos uma olhada... ____________ P.S.: ia me esquecendo: outra coisa que recomendo principalmente em códigos mais extensos e com sucessivas edições/reedições é fazer uma faxina de vez em quando indo no núcleo do código no arquivo, usando a antiga e bem conhecida ferramenta "Excel VBA Code Cleaner" do Rob Bovey. Ela é um suplemento gratuito para o VBA e após instalada fica disponível no menu Ferramentas>Clean Project do VBE. Infelizmente só está disponível para o Office instalado na versão 32bits. você encontra ela no site oficial em: Excel VBA Code Cleaner
Sobre o Clube do Hardware
No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais
Direitos autorais
Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais