Ir ao conteúdo
  • Cadastre-se

BernardorValle

Membro Pleno
  • Posts

    81
  • Cadastrado em

  • Última visita

Tudo que BernardorValle postou

  1. No caso, está em um padrão repetido, onde ex A1 = data, A2=Despesa, A3=valor, se repetindo nesse padrão (a4=Data, A5=Despesa, A6=valor...) Quando vou puxar a formula para copiar apenas os valores, o excel não reconhece esse padrão e puxa aleatoriamente. Sabe se existe alguma formula que consigo adicionar um contador à celula que quero retornar?
  2. Ricardo, me desculpe a ignorância, mas já tentei de todas as formas utilizando a função Texo para Coluna. como eu configuro a função para ficar no formato que quero?
  3. Bom dia, tenho uma base onde as informações estão todas acumuladas em uma coluna apenas. Porém sempre seguem uma ordem - Data/Despesa/Valor. Gostaria de saber como posso fazer para organizar em uma planilha em colunas diferentes, onde cada uma esteja na linha correspondente. Parece bem banal, mas não tenho ideia de como fazer, qual função utilizar. Segue planilha como exemplo Ex Duvida.xlsx
  4. Bom dia, possui uma planilha onde controlo as entregas e coletas dia a dia. Nela está listada em uma coluna o horário agendado, e outra o status (Agendada,confirmada,cancelada) e demais informações. O que preciso é uma fórmula que identifique se o horário está atrasado ou não, ou seja, que verifique o horário atual, compare com o horário agendado e consulte se o status ainda está em Agendado (e não confirmado ou cancelado que seriam confirmações da coleta/entrega). Essa rotina me ajudaria bastante pois não precisaria ficar acompanhando todo momento e poderia dar mais atenção a outras rotinas. Já testei utilizar a fórmula =Agora(), mas ela aparece a data completa (13/07/2018 10:00 AM) e quando vou verificar se a célula que contem a fórmula =Agora, sempre dá que é maior que a célula com horário agendado. adicionado 15 minutos depois Acredito que encontrei a solução. Na célula onde está a função =Agora(), fiz a conta =Agora()-Hoje() Assim a planilha conseguiu reconhecer apenas o horário. adicionado 16 minutos depois ok
  5. Se alguém puder ajudar, meus conhecimentos em macro para esse tipo de função são limitados.
  6. Deciog, hoje fui tentar utilizar novamente o formato da Viacep e se busco 1 cep funciona perfeitamente. Porém quando vou buscar da base (no caso eu testei para buscar apenas 200 ceps, não funciona e depois a planilha para de funcionar e acredito que "tomo um ban pelo excesso de buscas). =/
  7. Boa tarde, estou trabalhando em uma planilha de logística e preciso pesquisar por uma base de dados de CEP de pedidos os endereços. O problema é que são mais de 7500 pedidos e quando utilizo a ferramenta ViaCep - não funciona (e acredito terem bloqueado meu IP pois solicitei muitas requisições de uma vez). Precisaria de saber o endereço/logradouro, complemento, Bairro, Cidade. Alguem sabe a melhor opção?
  8. FerGaz o Gabinete realmente é mais apropriado para watercooler. No caso eu gostei do Gabinete apenas pela estética mesmo e não "utilizo" meu pc em altas temperaturas, Se você analisar o Airflow não é dos melhores para air cooler. Mas fica bem bonito
  9. Boa tarde, tenho uma planilha que puxa de uma base de dados 2 colunas que são horários de entrega e coleta para cada pedido. Preciso saber (através de formatação condicional) se os horários de coleta e entrega são iguais - e se não forem para formatar. O problema é que consigo fazer isso apenas para uma célula e quando vou puxar a formatação condicional para a coluna inteira, o valor da célula na fórmula de formatação condicional sempre fixa a primeira célula que foi inserida. Existe alguma maneira de fazer mais rápida, ou terei que fazer linha por linha. Att.
  10. Sim, erro meu gtx 6780. O problema que para trocar cpu vai placa-mãe e memória.. ai fica osso hehe
  11. Foka perdão a demora, eu comprei o P3 na época no site TeraByte - que estava na blackfriday por 300,00R$ (um preço até de boa pelo acabamento do gabinete) Sobre o acrílico, vem com o gabinete. Particularmente, eu acho bem legal, mas tem pessoas que se incomodam de não ser de vidro (que implicaria em maior peso, maior fragilidade pra queda e impacto) O cabo riser eu comprei no mercado livre mesmo (na época paguei um preço excelente) https://produto.mercadolivre.com.br/MLB-737846614-cabo-extensor-riser-card-pci-express-x16-19cm-realengo-_JM
  12. Bom dia, eu tenho um fone sem fio 5.1 da Razer (CHIMAERA ) que não sai som. Primeiramente achei que era problema de sincronia, mas já vi que não é, até o momento que percebi que o computador reconhecia o som, mas não saia. Segue uma foto para ilustrar. Alguém tem ideia do que seja?
  13. Boa noite, tenho um pc com peças boas mas bem datadas e em algumas ocasiões está começando a me afetar. Specs: CPU - AMD Phenom II x4 965 GPU - GRX 680 Memória - 8 GBytes DDR3 Dual Channel (XMS3 Corsair) MotherBoard - GA-890FXA-UD5 Segundo meu amigo (pessoa que comprei as peças usadas a uns anos) o CPU e placa-mãe são próprios pra overclock, mas nunca tentei anteriormente. Gostaria de saber se vale a pena fazer overclock da CPU e/ou GPU (atualmente jogando ficam na temperatura de 50-60 graus). E se valer a pena, como fazer. Se colocar mais memória já resolveria ou só atualizando as peças mesmo. Gosto de jogar mas quando se trata dos jogos que requerem mais poder (CPU e GPU) já sinto que meu pc não consegue acompanhar, exemplo o jogo PlayerUnknow que mal mal consigo jogar. Obrigado
  14. Boa tarde, estou fazendo uma ferramenta de cadastro de agenda quando indico no text box que o formato inserido será em data, indicando o tamanho total, tudo funciona de acordo. Porém quando simulo uma situação onde o usuário errou a digitação e precisa apagar e para trocar os valores o código não da certo O erro é que como o código controla as entradas de caracteres para definir onde colocar o "/", se insiro 2 caracteres ele coloca automaticamente, mas se preciso alterar ele não retorna/não possibilita apagar o "/" também Segue o código Private Sub txtData_Change() 'Formata : dd/mm/aaaa If Len(txtData) = 2 Or Len(txtData) = 5 Then txtData.Text = txtData.Text & "/" SendKeys "{End}", True End If End Sub
  15. Sub aGerarListaLojas() 'Rotina para agilizar macro Application.Calculation = xlCalculationManual 'Tornar calculos manuais Application.ScreenUpdating = False 'Desabilita atualização de tela Application.DisplayStatusBar = False 'Desabilita status bar 'Rotina de Limpar lista de loja e Banco de dados Worksheets("LISTA DE LOJAS").Activate range("A3").Activate range(Selection, Selection.End(xlDown)).Select Selection.ClearContents Worksheets("BANCO DE DADOS").Activate range("J3:K3").Select range(Selection, Selection.End(xlDown)).Select Selection.ClearContents range("Tabela6").Activate Selection.ClearContents 'Rotina de Abrir Banco de Dados Viggicom, realizar filtros copiar e colar no Mapa '1 Rotina - Lista de Lojas '1a - Abrir Banco de dados ArqparAbrir = Application.GetOpenFilename("Arquivo do Excel (*.xlsx),*xlsx*", _ title:="Abrir Banco de Dados Viggicon Atualizado", _ MultiSelect:=True) If Not IsArray(ArqparAbrir) Then If ArqparAbrir = "" Or ArqparAbrir = False Then MsgBox "Processo Abortado, Nenhum arquivo selecionado", vbOKOnly, "Processo Cancelado" Exit Sub End If End If Set w = Sheets("BANCO DE DADOS") For A = LBound(ArqparAbrir) To UBound(ArqparAbrir) NomeArquivo = ArqparAbrir(A) Application.Workbooks.Open (NomeArquivo) 'Filtrar tabela lojaxABc de acordo com código CP lastrow2 = range("F" & Rows.Count).End(xlUp).Row 'Inserir código CP - verificando se codigo existe ou nao Do codcp = Application.InputBox("Insira codigo da CP") 'Checar se valor inserido esta correto If WorksheetFunction.CountIf(range("F1:F" & lastrow2), codcp) = 0 Or codcp = vbNullString Or codcp = False Then MsgBox "Codigo CP Invalido" End If Loop While WorksheetFunction.CountIf(range("F1:F" & lastrow2), codcp) = 0 Or codcp = vbNullString Or codcp = False ActiveSheet.ListObjects("Tabela6").range.AutoFilter Field:=6, Criteria1:="=" & codcp, Operator:=xlAnd 'Rotina de verificar se o codigo cp foi inserido é valido ainda não funciona, procurando *******************8 range("A2:G2").Select range(Selection, Selection.End(xlDown)).Select Selection.Copy 'copiar somente a coluna c até g Selection.Copy Destination:=w.range("B2") ActiveWorkbook.Close savechanges:=False Next A Worksheets("BANCO DE DADOS").range("B2:C2").Select range(Selection, Selection.End(xlDown)).Select Selection.Copy range("J3").Activate lastrow3 = range("A" & Rows.Count).End(xlUp).Row Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False ActiveSheet.range("$J$2:$K$" & lastrow3).RemoveDuplicates Columns:=Array(1, 2), Header _ :=xlYes range("J3").Select range(Selection, Selection.End(xlDown)).Select Selection.Copy Worksheets("LISTA DE LOJAS").Select range("A3").Activate Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Worksheets("Sumário Mapa de Estoque").Activate MsgBox "Atualizando Cálculos" 'Rotina para restaurar configuraçoes Application.Calculation = xlCalculationAutomatic Application.ScreenUpdating = True Application.DisplayStatusBar = True MsgBox "Lista de Lojas Atualizada" End Sub Olá, estou otimizando uma rotina de um relatório e me deparei com um problema Em uma das macros da minha ferramenta, ela gera uma lista de lojas a partir de outra planilha (que seria a base de dados) Para gerar essa lista, coloquei um inputbox - para que quem esteja gerando o relatório, digite o código da loja - daí a macro realiza as demais rotinas de filtro e formatação. Eu gostaria de saber se consigo, invés de solicitar o código, abrir uma listbox contendo os códigos e descrição. Dai quando selecionada a loja (pelo formulário que apareceria 2 colunas contendo códigos e nomes das lojas), atribuiria o valor selecionado á variável que a macro utiliza como parâmetro para executar as demais rotinas. O problema é que são 2 planilhas - Ferramenta (onde estão todas as macros e cálculos) e outra que é um banco de dados (que não quero disponibilizar para todos). Qual a melhor maneira de fazer isso? Segue a macro onde quero alterar isso (sou novo com VBA então provavelmente as rotinas não estão 100% otimizadas) - onde aparece codcp = inputbox < Obrigado
  16. Boa tarde, estou automatizando uma planilha, mas sou novo com VBA. Em uma das minhas rotinas, o usuário deve inserir por inPutbox um código que será utilizado como filtro em uma tabela. Gostaria de saber como posso condicionar com IF, caso o código que for inserido, se não apresentar(ou não estiver presente ou errado) dar um msgBox "Código inexistente", encerrando a SUB, e caso o código esteja presente, continue a macro. Obrigado
  17. Funcionou sim, muito obrigado. Infelizmente notei que a rotina está bem pesada, mas o macro final funcionou. Se tiver alguma dica de como simplifica-lo segue o VBA Sub aFormatABCConsolidado() Application.ScreenUpdating = False Dim w As Worksheet Dim wNew As Workbook Dim ArqparAbrir As Variant Dim A As Integer Dim NomeArquivo As String 'rotina de limpar tabela ABC Worksheets("CURVA ABC").Activate lastrow = range("A" & Rows.Count).End(xlUp).Row On Error Resume Next range("A6:Y" & lastrow).SpecialCells(xlCellTypeConstants).ClearContents range("A7:Y" & lastrow).EntireRow.Delete On Error GoTo 0 'Rotina de limpar aba ABc Consolidado Worksheets("ABCConsolidado").Activate range("A2").Select range(Selection, Selection.End(xlToRight)).Select range(Selection, Selection.End(xlDown)).Select Selection.ClearContents ArqparAbrir = Application.GetOpenFilename("Arquivo do Excel (*.xls),*xl*", _ title:="Escolha os Arquivos", _ MultiSelect:=True) If Not IsArray(ArqparAbrir) Then If ArqparAbrir = "" Or ArqparAbrir = False Then MsgBox "Processo Abortado, Nenhum arquivo selecionado", vbOKOnly, "Processo Cancelado" Exit Sub End If End If Set w = Sheets("ABCConsolidado") w.Select For A = LBound(ArqparAbrir) To UBound(ArqparAbrir) NomeArquivo = ArqparAbrir(A) Application.Workbooks.Open (NomeArquivo) Set wNew = ActiveWorkbook ActiveSheet.range("A2").Select ActiveCell.FormulaR1C1 = _ "=MID(CELL(""nome.arquivo""),SEARCH(""["",CELL(""nome.arquivo""))+5,SEARCH(""]"",CELL(""nome.arquivo""))-SEARCH(""["",CELL(""nome.arquivo""))-9)" ActiveSheet.range("A2").Select ActiveSheet.range(Selection, Selection.End(xlDown)).Select Selection.FillDown ActiveSheet.range("A2").Select ActiveSheet.range(Selection, Selection.End(xlToRight)).Select ActiveSheet.range(Selection, Selection.End(xlDown)).Select Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Selection.Copy Destination:=w.Cells(w.Rows.Count, 1).End(xlUp).Offset(1, 0) Application.DisplayAlerts = False ActiveWorkbook.Close savechanges:=False Application.DisplayAlerts = True w.Cells(w.Rows.Count, 1).End(xlUp).Offset(0, 1).Select Next A ActiveSheet.range("A2").Select Selection.End(xlDown).Select range(Selection, Selection.End(xlUp)).Select Selection.Value = Selection.FormulaR1C1 Cells.Select With Selection .WrapText = False .Orientation = 0 .AddIndent = False End With Application.ScreenUpdating = True 'lastrow2 = worksheet("CURVA ABC").range("A" & Rows.Count).End(xlUp).Row range("A2:G2").Select range(Selection, Selection.End(xlDown)).Select Selection.Copy Worksheets("CURVA ABC").Activate Sheets("CURVA ABC").Select range("C6").Select Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False ActiveCell.FormulaR1C1 = "=codigo_cp" range("B7").Select MsgBox "Processo Realizado com suceesso" Worksheets("Sumário Mapa de Estoque").Activate End Sub
  18. Funcionou sim, mas alterei um pouco Sub ApagarValores() lastrow = range("A" & Rows.Count).End(xlUp).Row On Error Resume Next range("A6:Y" & lastrow).SpecialCells(xlCellTypeConstants).ClearContents On Error GoTo 0 End Sub Mas ainda não excluir as linhas, a tabela fica limpa mas com todas as linhas, é possível escluir todas as linhas e ficar só uma? Assim a planilha fica mais leve
  19. No caso é uma planilha de trabalho que faço análises caso a caso. Para cada caso eu tenho que praticamente resetar a planilha, que consiste em apagar os dados de algumas tabelas. Quero que essa rotina de zerar a planilha seja automática (para que cada vez que for fazer um cenário, não precise excluir manualmente). Quando executo o comando pelo gravar, grava um macro que não serve (pois cada vez que insiro dados na planilha o número de linhas é diferente), mas segue o vba que grava quando executo o que precisamente quero Sub ExcluirLinhatabela() ' ' ExcluirLinhatabela Macro ' ' range("TabelaABC").Select Selection.ListObject.ListRows(1).Delete Selection.ListObject.ListRows(1).Delete Selection.ListObject.ListRows(1).Delete Selection.ListObject.ListRows(1).Delete Selection.ListObject.ListRows(1).Delete Selection.ListObject.ListRows(1).Delete Selection.ListObject.ListRows(1).Delete Selection.ListObject.ListRows(1).Delete Selection.ListObject.ListRows(1).Delete End Sub No caso só funcionaria se a próxima vez que for excluir, tiver o mesmo número de linhas. Mas não conheco comando que faça isso automático, sou novo com vba
  20. Olá, estou automatizando um planilha e me deparei com uma rotina que não consigo fazer funcionar direito. Preciso que por macro, limpe exclua todas as linhas de uma tabela, mas sem apagar as formulas. Assim na próxima vez que for inserir dados na tabela, nos campos que contenham fórmula sejam automaticos. O nome da tabela é TabelaABC. Comando bem simples, mas não estou tendo sucesso.
  21. Olá estou automatizando uma planilha e estou tendo dificuldade na seguinte macro Preciso que a macro filtre 5 valores e copie aquele que eles não estejam presentes. Na macro descrita abaixo, faz uma rotina de formatação e depois filtra, mas infelizmente não estou conseguindo copiar os valores que são diferentes dos filtrados abaixo. sei que na macro, ainda falta a parte de ou selecionar os dados que foram filtrados ou deletar aqueles indesejados, nas não sei qual a melhor maneira. Se puderem ajudar Sub Teste() Columns("A:A").Select Selection.TextToColumns Destination:=Range("A1"), DataType:=xlDelimited, _ TextQualifier:=xlDoubleQuote, ConsecutiveDelimiter:=False, Tab:=True, _ Semicolon:=False, Comma:=True, Space:=False, Other:=False, FieldInfo _ :=Array(Array(1, 1), Array(2, 1), Array(3, 1), Array(4, 1)), TrailingMinusNumbers:= _ True Columns("B:B").Select Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove Columns("A:E").Select ActiveSheet.ListObjects.Add(xlSrcRange, Range("$A:$E"), , xlNo).Name = _ "Tabela4" Range("B2").Select ActiveCell.FormulaR1C1 = "=LEFT(RC[1],5)" Columns("A:E").Select Selection.Copy Sheets.Add After:=ActiveSheet Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ :=False, Transpose:=False Application.CutCopyMode = False Rows("1:2").Select Selection.Delete Shift:=xlUp Selection.AutoFilter ActiveSheet.Range("$A:$E").AutoFilter Field:=3, Criteria1:=Array("<>*estojo pp *", "<>*estojo p *", _ "<>*estojo g *", "<>*estojo gg *", _ "<>*estojo m *"), _ Operator:=xlFilterValues Columns("A:E").Select Selection.Copy End Sub
  22. Eu fiz um video mostrando segue o link n adicionado 1 minuto depois Bixo, to quebrando cabeça com uma parada *****. Muito obrigado, funcionou.

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

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!